Merge branch 'bintron-r1' into 'master'

bintron-r1.eclass: a new take on installing electron

See uest src_prepare/src_prepare-overlay!395
This commit is contained in:
Parona 2024-02-28 03:38:30 +00:00
commit f88d00fec8
7 changed files with 289 additions and 0 deletions

View File

@ -1 +1,4 @@
DIST windows95_2.3.0_amd64.deb 243307192 BLAKE2B 29050fda1d98a6ee4551f4b4049e800877588041b2df57a81050d78ab87dcf18b26079463b2e10d4ecac01a62f35c00e4fe389078fc8dac6216805c7773298be SHA512 99655bd7829cb6ae0e253d30848d5ddf1012d6d10a1f44fba594f8551f69f7dbfc9aeef1f31a84ff0d7c76009967e5dd6de3ee983bb5f92230366e5d1adfd4e0
DIST windows95_3.1.1_amd64.deb 256272160 BLAKE2B b80af926afd7a38f21f83bd1e9f2ba811c39037ea47ec4f3ed44b067ba22ff11ecf8be29a4f0148cde141aa7c335bde21fa163bf4574f63387daaba77759cbc9 SHA512 a2d9c8392cf35df117874998393e2dc824566bbc89b05819893ce7bc1a1f29f13c8e9c47e60dbf508bd919cc652da654108d7e4ad2ffc6bc67a94295c5b12edc
DIST windows95_3.1.1_arm64.deb 250797112 BLAKE2B 878e07f4edde735c4f757b52de52ef4a2cc6bdf4c338ec4d06a8648bd1d21014783ef7be5374881d1a924ae50a34c3e75501adaef3f632391f6b53f8fcaca021 SHA512 eeecfb449d996dab7f0062cecdce0e5df9ede6b54869b08a4ac2f7e8b86930162cb775174cc383a383272cbaf260307011447e1aa98dbfa8cfa09b8078cdf0a6
DIST windows95_3.1.1_armhf.deb 248658660 BLAKE2B 439fbef10c70cf79ad58055cd1ce95f6451dd51810936f1237ac5c6b4db073b180a5377fb601d8af10b62f75df3eda4827402245396d7d7eece3a5b36626230c SHA512 0dd862bfe5d26c54df13b95da3f6d74a1882cb5869e05ab0560bdb59332bcb142f6ac535bc6f1208c1eec6d2e8256503e329b8201160cf9b634d1872d9f8b8f7

View File

@ -0,0 +1,35 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
af am ar bg bn ca cs da de el en-GB es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko lt
lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW
"
inherit bintron-r1 unpacker
DESCRIPTION="Windows 95, running in an Electron app"
HOMEPAGE="https://github.com/felixrieseberg/windows95"
SRC_URI="
amd64? (
https://github.com/felixrieseberg/${PN}/releases/download/v${PV}/${PN}_${PV}_amd64.deb
)
arm64? (
https://github.com/felixrieseberg/${PN}/releases/download/v${PV}/${PN}_${PV}_arm64.deb
)
arm? (
https://github.com/felixrieseberg/${PN}/releases/download/v${PV}/${PN}_${PV}_armhf.deb
)
"
S="${WORKDIR}/usr/lib/${PN}"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="-* ~amd64"
RDEPEND="
dev-libs/wayland
"

View File

@ -1 +1,3 @@
DIST beekeeper-studio_2.1.4_amd64.deb 70856006 BLAKE2B ae721c0311ded284a04f56ae594d45e32e5618e40bbae6196bd3875a105e4c7494349d84165ed2ce9620e847ebed889e5df67a6f04fb646cf1c2ae339b5fec17 SHA512 97da29b9a060ec6da871fdb6fcf6fdf2f96903ab964ca5d9cd0f0faf81f57c2c1637fae6f8a0c781121ba9e1ae8218565d18f962866975fa9b59a336d3833fc5
DIST beekeeper-studio_4.1.13_amd64.deb 74990132 BLAKE2B 61481c3f2c0c06811b975617be5b5967a265d42b40b5bf92be7c32b8e452eeaa2acdcb3b2b6fa555e4c7ddcbe3c46212b7005c898f10ec28c4a1b07467f2a81d SHA512 fe67036b09af144dcf564e46f246c8e76ce54664e2183652904104bc9902d9995bdd004c0f3c4de187a222072f908201172b7c323921bf9616c96ba03eaed937
DIST beekeeper-studio_4.1.13_arm64.deb 79468928 BLAKE2B 44e19ea948e9c8166da6246d607075feaf5988a96c44ad785d6b5d8a90ce59ae9a3f4ca3d1f290beae67873e559612fecf5e0429c7b5d4f2443fb2cbc55a142f SHA512 057207aadce6e5f1bf14f98a09e428b93d198b9435c5d7a0f408061f3c90e61015587fa748e6296c46b0f6faf76778e994e4bd55c4bd47196dfeeb73f29788cc

View File

@ -0,0 +1,40 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
am ar bg bn ca cs da de el en-GB en-US es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko lt
lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk vi zh-CN zh-TW
"
inherit bintron-r1 unpacker
DESCRIPTION="Modern and easy to use SQL client"
HOMEPAGE="https://www.beekeeperstudio.io/"
SRC_URI="
amd64? (
https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${PV}/beekeeper-studio_${PV}_amd64.deb
)
arm64? (
https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${PV}/beekeeper-studio_${PV}_arm64.deb
)
"
S="${WORKDIR}/opt/Beekeeper Studio"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="bindist mirror test"
BINTRON_HOME="/opt/Beekeeper Studio/"
src_prepare() {
bintron-r1_src_prepare
# MimeType" in group "Desktop Entry" contains "application/vnd.sqlite3" more than once
sed -i \
-e 's|application/vnd.sqlite3;application/vnd.sqlite3;application/vnd.sqlite3;|application/vnd.sqlite3;|' \
"${WORKDIR}/usr/share/applications/beekeeper-studio.desktop" || die
}

View File

@ -1 +1,4 @@
DIST GitHubDesktop-linux-amd64-3.3.6-linux3.deb 94619536 BLAKE2B e32a937d86f5730844ada3410c7ab9a0aeef06ffc2db9864dc9bd44676733f8c333a3411f61dd624f9ec3cac1a91c38cfff03f09eb341520ad6b69579f1d9e13 SHA512 c988df1afd7cf07b13aa5f08484fa3f2885629a2b2edb8412195d173df51ff7179ac5a075d2b2c506e13ec33d9814250c7f5c17a0aa1344f9d293286f4cd56f1
DIST GitHubDesktop-linux-arm64-3.3.6-linux3.deb 88504356 BLAKE2B a87e55f529d43e7c9b38ca327356a52286485fc67679654cb70f823170226c05beea652d1c6bea86e18c77d063c0d284d79b65d00f9e78851c939031a402c65a SHA512 731712fe935f3dfed3c26146c3caaf32b9e3bb9f1c44b89bd810cb6afd6879ad8754952c90a680e8958deed2d8c00a9d08b0535c6cd26f3a59ab119b4836557b
DIST GitHubDesktop-linux-armhf-3.3.6-linux3.deb 85987760 BLAKE2B 5b23ac1b56679970f88027f3fbb621fb72abd81fe4e0ed50022665166045d7eb58242215773cc99207319e348fe4bd74ae645672d782bc6f132b39e02a648883 SHA512 68ebd6318e0be330e48cb5f759b38a518d0ffbd5803f705ec61f9317343f550ca0336bc9b943e12742eed173dac4e1c29c4e1d22d51aad1947c8e42f40804914
DIST github-desktop-2.9.3.deb 71379536 BLAKE2B 945c956e4c58fc89f00c5589ac6c88f0e8be88a611e095c160181000c404d70640bcc67699d13d35a47baf2ca0f8d14165363f3958ca5e9187d2683515f927fa SHA512 0e7157880af102b6a9c69de81a29a3da2e7c96a85fa1c42a6e0316467df762af4d904894e82f9d63fb9b769d8acee81cba87445b3a72fefe912d133847f86dee

View File

@ -0,0 +1,44 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
af am ar bg bn ca cs da de el en-GB es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko lt
lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW
"
MY_PV="${PV/_rc/-linux}"
inherit bintron-r1 unpacker
DESCRIPTION="GitHub Desktop for Linux"
HOMEPAGE="https://github.com/shiftkey/desktop"
SRC_URI="
amd64? (
https://github.com/shiftkey/desktop/releases/download/release-${MY_PV}/GitHubDesktop-linux-amd64-${MY_PV}.deb
)
arm64? (
https://github.com/shiftkey/desktop/releases/download/release-${MY_PV}/GitHubDesktop-linux-arm64-${MY_PV}.deb
)
arm? (
https://github.com/shiftkey/desktop/releases/download/release-${MY_PV}/GitHubDesktop-linux-armhf-${MY_PV}.deb
)
"
S="${WORKDIR}/usr/lib/github-desktop"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="bindist mirror test"
# https://github.com/shiftkey/desktop/blob/linux-release-3.3.6/script/package-debian.ts#L61
RDEPEND="
app-crypt/libsecret
dev-vcs/git-lfs
dev-vcs/git
net-misc/curl
sys-libs/zlib
virtual/secret-service
"

162
eclass/bintron-r1.eclass Normal file
View File

@ -0,0 +1,162 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: bintron-r1.eclass
# @MAINTAINER:
# src_prepare group
# @AUTHOR:
# Alfred Wingate <parona@protonmail.com>
# @SUPPORTED_EAPIS: 8
# @PROVIDES: chromium-2 xdg
# @BLURB: Common configuration eclass for binary packages built with Electron
# @DESCRIPTION:
# This eclass is used in Electron packages ebuilds
case ${EAPI} in
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ ! ${_BINTRON_R1_ECLASS} ]]; then
_BINTRON_R1_ECLASS=1
inherit chromium-2 xdg
IUSE="system-ffmpeg"
# musl support?
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/dbus
sys-libs/glibc
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libdrm
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/pango
system-ffmpeg? ( >=media-video/ffmpeg-4.3[chromium] )
"
BDEPEND="
app-alternatives/gzip
dev-util/patchelf
"
IDEPEND="
sys-apps/file
sys-apps/findutils
"
# @VARIABLE: QA_PREBUILT
# @INTERNAL
# @DESCRIPTION:
# QA variable
# @VARIABLE: QA_PRESTRIPPED
# @INTERNAL
# @DESCRIPTION:
# QA variable
# The package will be already compiled,
# also most likely the package will be pre-stripped too.
QA_PREBUILT='*'
QA_PRESTRIPPED='*'
# @ECLASS_VARIABLE: BINTRON_HOME
# @DESCRIPTION:
# Path where the package contents will we installed.
: ${BINTRON_HOME:="/opt/${PN}/"}
# @ECLASS_VARIABLE: BINTRON_EXECUTABLES
# @DESCRIPTION:
# List of executable symlinks to create
: ${BINTRON_EXECUTABLES:="${PN}"}
# @FUNCTION: bintron-r1_pkg_pretend
# @DESCRIPTION:
# Runs SUID and User namespace checks
bintron-r1_pkg_pretend() {
# see https://github.com/electron/electron/issues/17972
chromium_suid_sandbox_check_kernel_config
}
# @FUNCTION: bintron-r1_src_prepare
# @DESCRIPTION:
# Remove pak files.
bintron-r1_src_prepare() {
default
pushd locales >/dev/null || die "location change for language cleanup failed"
chromium_remove_language_paks
popd >/dev/null || die "location reset for language cleanup failed"
if [[ -d "${WORKDIR}/usr/share/doc/${PN}" ]]; then
mv "${WORKDIR}/usr/share/doc/${PN}/" "${WORKDIR}/usr/share/doc/${PF}" || die
fi
if [[ -e "${WORKDIR}/usr/share/doc/${PF}/changelog.gz" ]]; then
pushd "${WORKDIR}/usr/share/doc/${PF}" >/dev/null || die
unpack "${WORKDIR}"/usr/share/doc/${PF}/changelog.*
rm "${WORKDIR}"/usr/share/doc/${PF}/changelog.*
popd >/dev/null || die
fi
if use system-ffmpeg; then
rm libffmpeg.so || die
local file type
for file in $(find .); do
type=$(file -b --mime-type "${file}")
case ${type} in
application/x-sharedlib|application/x-pie-executable)
patchelf --add-rpath /usr/$(get_libdir)/chromium ${file} || die
;;
esac
done
fi
}
# @FUNCTION: bintron-r1_src_install
# @DESCRIPTION:
# Install
bintron-r1_src_install() {
insinto "${BINTRON_HOME}"
doins -r "${S}"/*
local file type
for file in $(find .); do
type=$(file -b --mime-type "${file}")
case ${type} in
application/x-sharedlib|application/x-pie-executable|text/x-shellscript)
fperms 0755 "${BINTRON_HOME}${file#./}"
;;
esac
done
for executable in ${BINTRON_EXECUTABLES[@]}; do
dosym "${EPREFIX}${BINTRON_HOME%/}/${executable}" /usr/bin/${executable}
done
if [[ -d ${WORKDIR}/usr/share ]]; then
insinto /usr
doins -r "${WORKDIR}"/usr/share
fi
}
fi
EXPORT_FUNCTIONS pkg_pretend src_prepare src_install