mirror of
https://github.com/Cheviiot/Nivora.git
synced 2026-08-03 15:51:12 +00:00
feat: create autonomous Nivora package repository
Maintain a validated cross-distribution package catalog. Automate upstream updates, isolated builds, diagnostics, and direct publication. Build the official GitHub Desktop sources for Linux with working OAuth.
This commit is contained in:
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
package_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
repo_root="$(cd "${package_dir}/.." && pwd)"
|
||||
exec "${repo_root}/tools/package_updates.sh" check "$(basename "$package_dir")"
|
||||
@@ -0,0 +1,15 @@
|
||||
Сведения о лицензии пакета PineconeMC
|
||||
|
||||
Лицензия: GPL-3.0-only.
|
||||
Исходный проект: https://github.com/ElyPrismLauncher/Launcher
|
||||
Официальный сайт: https://pineconemc.com/
|
||||
|
||||
Нюансы пакета:
|
||||
- Пакет перепаковывает официальный portable-архив PineconeMC для Linux.
|
||||
- PineconeMC является форком Prism Launcher и распространяется на условиях GNU GPL версии 3.
|
||||
- Пакет удаляет маркер portable-режима из исходной сборки, чтобы приложение использовало пользовательский каталог данных, а не пыталось писать в `/opt`.
|
||||
- Minecraft, моды, аккаунты, серверы, Ely.by и сторонние сервисы в пакет не входят и регулируются собственными условиями.
|
||||
- При распространении измененных сборок нужно соблюдать требования GPL-3.0-only.
|
||||
|
||||
Полный официальный текст GPL-3.0:
|
||||
https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
@@ -0,0 +1,102 @@
|
||||
name='pineconemc'
|
||||
version='11.0.3'
|
||||
release=3
|
||||
summary='Prism Launcher fork with Ely.by and offline account support'
|
||||
summary_ru='Форк Prism Launcher с поддержкой Ely.by и offline-аккаунтов'
|
||||
group='Games/Other'
|
||||
desc='PineconeMC is a Prism Launcher fork with integrated Ely.by account support, offline accounts, modpack management and Minecraft instance management.'
|
||||
desc_ru='PineconeMC — форк Prism Launcher с интеграцией аккаунтов Ely.by, offline-аккаунтами, управлением модпаками и инстансами Minecraft.'
|
||||
homepage='https://pineconemc.com/'
|
||||
maintainer='PineconeMC contributors <https://github.com/ElyPrismLauncher/Launcher>'
|
||||
|
||||
architectures=('amd64' 'arm64')
|
||||
|
||||
license=('GPL-3.0-only')
|
||||
|
||||
provides=()
|
||||
replaces=('pineconemc')
|
||||
conflicts=()
|
||||
|
||||
auto_reqprov_method="dirty"
|
||||
auto_req=0
|
||||
auto_prov=0
|
||||
|
||||
deps=()
|
||||
deps_debian=('ca-certificates' 'libc6' 'libdbus-1-3' 'libdrm2' 'libegl1' 'libfontconfig1' 'libfreetype6' 'libgcc-s1' 'libgl1' 'libglib2.0-0' 'libgtk-3-0' 'libice6' 'libnss3' 'libsm6' 'libstdc++6' 'libudev1' 'libx11-6' 'libxcb1' 'libxcomposite1' 'libxcursor1' 'libxdamage1' 'libxext6' 'libxfixes3' 'libxi6' 'libxkbcommon0' 'libxrandr2' 'libxrender1' 'libxtst6' 'zlib1g' 'xdg-utils')
|
||||
deps_ubuntu=("${deps_debian[@]}")
|
||||
deps_fedora=('ca-certificates' 'glibc' 'dbus-libs' 'libdrm' 'mesa-libEGL' 'fontconfig' 'freetype' 'libgcc' 'mesa-libGL' 'glib2' 'gtk3' 'libICE' 'nss' 'libSM' 'libstdc++' 'systemd-libs' 'libX11' 'libxcb' 'libXcomposite' 'libXcursor' 'libXdamage' 'libXext' 'libXfixes' 'libXi' 'libxkbcommon' 'libXrandr' 'libXrender' 'libXtst' 'zlib' 'xdg-utils')
|
||||
deps_arch=('ca-certificates' 'glibc' 'dbus' 'libdrm' 'libglvnd' 'fontconfig' 'freetype2' 'gcc-libs' 'glib2' 'gtk3' 'libice' 'nss' 'libsm' 'systemd-libs' 'libx11' 'libxcb' 'libxcomposite' 'libxcursor' 'libxdamage' 'libxext' 'libxfixes' 'libxi' 'libxkbcommon' 'libxrandr' 'libxrender' 'libxtst' 'zlib' 'xdg-utils')
|
||||
deps_opensuse=('ca-certificates' 'glibc' 'libdbus-1-3' 'libdrm2' 'Mesa-libEGL1' 'fontconfig' 'libfreetype6' 'libgcc_s1' 'Mesa-libGL1' 'glib2' 'gtk3' 'libICE6' 'mozilla-nss' 'libSM6' 'libstdc++6' 'libudev1' 'libX11-6' 'libxcb1' 'libXcomposite1' 'libXcursor1' 'libXdamage1' 'libXext6' 'libXfixes3' 'libXi6' 'libxkbcommon0' 'libXrandr2' 'libXrender1' 'libXtst6' 'zlib' 'xdg-utils')
|
||||
deps_altlinux=('ca-certificates' 'glibc' 'libdbus' 'libdrm' 'libEGL' 'fontconfig' 'libfreetype' 'libgcc1' 'libGL' 'glib2' 'libgtk+3' 'libICE' 'libnss' 'libSM' 'libstdc++6' 'libudev0' 'libX11' 'libxcb' 'libXcomposite' 'libXcursor' 'libXdamage' 'libXext' 'libXfixes' 'libXi' 'libxkbcommon' 'libXrandr' 'libXrender' 'libXtst' 'zlib' 'xdg-utils')
|
||||
|
||||
sources=(
|
||||
"https://github.com/ElyPrismLauncher/Launcher/releases/download/${version}/PineconeMC-Linux-Qt6-Portable-${version}.tar.gz?~archive=false&~name=pineconemc.tar.gz"
|
||||
"local:///pineconemc.svg"
|
||||
'local:///LICENSE'
|
||||
)
|
||||
|
||||
sources_arm64=(
|
||||
"https://github.com/ElyPrismLauncher/Launcher/releases/download/${version}/PineconeMC-Linux-aarch64-Qt6-Portable-${version}.tar.gz?~archive=false&~name=pineconemc.tar.gz"
|
||||
"local:///pineconemc.svg"
|
||||
'local:///LICENSE'
|
||||
)
|
||||
|
||||
checksums=(
|
||||
'c1693e32668a8897529f3215aa8369e2562efde84adb999a210cc613c58ee916'
|
||||
'256d854b05112270847c29f31990329e880c39dba8ab06a574db9f09749e758a'
|
||||
'794a4007ac816a1425a98fdddf0716728fe1e2d899c4b9c1d505c1405e111ec9'
|
||||
)
|
||||
|
||||
checksums_arm64=(
|
||||
'0e8d02d91efd7f6f107611163ebf2801e9411c1cbda8c83fd3f6458e24130f02'
|
||||
'256d854b05112270847c29f31990329e880c39dba8ab06a574db9f09749e758a'
|
||||
'794a4007ac816a1425a98fdddf0716728fe1e2d899c4b9c1d505c1405e111ec9'
|
||||
)
|
||||
|
||||
scripts=(
|
||||
['postinstall']='postinstall.sh'
|
||||
['postremove']='postremove.sh'
|
||||
)
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"
|
||||
|
||||
mkdir -p "${pkgdir}/opt/pineconemc"
|
||||
tar --no-same-owner --no-same-permissions -xzf pineconemc.tar.gz -C "${pkgdir}/opt/pineconemc"
|
||||
rm -f "${pkgdir}/opt/pineconemc/portable.txt"
|
||||
|
||||
chmod 755 "${pkgdir}/opt/pineconemc/bin/elyprismlauncher"
|
||||
chmod 755 "${pkgdir}/opt/pineconemc/bin/elyprismlauncher_updater"
|
||||
|
||||
mkdir -p "${pkgdir}/usr/bin"
|
||||
ln -sf /opt/pineconemc/bin/elyprismlauncher "${pkgdir}/usr/bin/elyprismlauncher"
|
||||
ln -sf /opt/pineconemc/bin/elyprismlauncher "${pkgdir}/usr/bin/pineconemc"
|
||||
|
||||
install -Dm644 "${pkgdir}/opt/pineconemc/share/applications/io.github.elyprismlauncher.ElyPrismLauncher.desktop" \
|
||||
"${pkgdir}/usr/share/applications/io.github.elyprismlauncher.ElyPrismLauncher.desktop"
|
||||
sed -i 's/^Categories=.*/Categories=Game;/' \
|
||||
"${pkgdir}/usr/share/applications/io.github.elyprismlauncher.ElyPrismLauncher.desktop"
|
||||
install -Dm644 "${pkgdir}/opt/pineconemc/share/metainfo/io.github.elyprismlauncher.ElyPrismLauncher.metainfo.xml" \
|
||||
"${pkgdir}/usr/share/metainfo/io.github.elyprismlauncher.ElyPrismLauncher.metainfo.xml"
|
||||
install -Dm644 "${pkgdir}/opt/pineconemc/share/mime/packages/io.github.elyprismlauncher.ElyPrismLauncher.xml" \
|
||||
"${pkgdir}/usr/share/mime/packages/io.github.elyprismlauncher.ElyPrismLauncher.xml"
|
||||
install -Dm644 "${pkgdir}/opt/pineconemc/share/man/man6/elyprismlauncher.6" \
|
||||
"${pkgdir}/usr/share/man/man6/elyprismlauncher.6"
|
||||
|
||||
cp -a "${pkgdir}/opt/pineconemc/share/icons" "${pkgdir}/usr/share/icons"
|
||||
install-license "${srcdir}/LICENSE" "pineconemc/LICENSE.nivora"
|
||||
}
|
||||
|
||||
files() {
|
||||
files-find-binary
|
||||
files-find-desktop
|
||||
files-find-license
|
||||
files-find \
|
||||
"/opt" \
|
||||
"/opt/pineconemc" \
|
||||
"/opt/pineconemc/**/*" \
|
||||
"/usr/share/icons/hicolor/*/apps/io.github.elyprismlauncher.ElyPrismLauncher.*" \
|
||||
"/usr/share/man/man6/elyprismlauncher.6" \
|
||||
"/usr/share/metainfo/io.github.elyprismlauncher.ElyPrismLauncher.metainfo.xml" \
|
||||
"/usr/share/mime/packages/io.github.elyprismlauncher.ElyPrismLauncher.xml"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" id="svg13" sodipodi:docname="org.prismlauncher.PrismLauncher.svg" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs id="defs13"/>
|
||||
<sodipodi:namedview id="namedview13" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:zoom="15.8125" inkscape:cx="23.968379" inkscape:cy="24" inkscape:window-width="1680" inkscape:window-height="997" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg13"/>
|
||||
<title id="title1">Prism Launcher Logo</title>
|
||||
<g stroke-width=".26458" id="g10">
|
||||
<path d="m6.35 6.35" fill="#99cd61" id="path1"/>
|
||||
<path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" fill="#df6277" id="path2" style="fill:#207e5c;fill-opacity:1"/>
|
||||
<path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" fill="#fb9168" id="path3" style="fill:#379070;fill-opacity:1"/>
|
||||
<path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.072554-2.6584-0.21808-2.9104z" fill="#f3db6c" id="path4" style="fill:#379070;fill-opacity:1"/>
|
||||
<path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104h-5.2591z" fill="#7ab392" id="path5" style="fill:#207e5c;fill-opacity:1"/>
|
||||
<path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443l-5.041-2.9104z" fill="#4b7cbc" id="path6" style="fill:#136244;fill-opacity:1"/>
|
||||
<path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661l-2.6298-4.5548z" fill="#6f488c" id="path7" style="fill:#0c3c2a;fill-opacity:1"/>
|
||||
<path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208l-2.5208-1.4552z" fill="#4d3f33" id="path8" style="fill:#36302b;fill-opacity:1"/>
|
||||
<path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104h-5.041z" fill="#7a573b" id="path9" style="fill:#4a3c31;fill-opacity:1"/>
|
||||
<path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104v-5.8208z" fill="#99cd61" id="path10" style="fill:#50b469;fill-opacity:1"/>
|
||||
</g>
|
||||
<g transform="matrix(.88 0 0 .88 -10.906 -1.2421)" id="g12">
|
||||
<g transform="translate(13.26 2.2776)" id="g11">
|
||||
<path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458" id="path11"/>
|
||||
</g>
|
||||
<path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458" id="path12" style="fill:#dfe9df;fill-opacity:1"/>
|
||||
</g>
|
||||
<path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458" id="path13"/>
|
||||
<metadata id="metadata13">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:title>Prism Launcher Logo</dc:title>
|
||||
<dc:date>19/10/2022</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Prism Launcher</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:contributor>
|
||||
<cc:Agent>
|
||||
<dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:contributor>
|
||||
<dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>Prism Launcher</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"/>
|
||||
</cc:Work>
|
||||
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
|
||||
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
|
||||
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
|
||||
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
optional_refresh() {
|
||||
local label=$1
|
||||
shift
|
||||
if ! "$@"; then
|
||||
echo "Предупреждение: не удалось обновить ${label}." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
if command -v update-mime-database >/dev/null 2>&1; then
|
||||
optional_refresh "MIME-базу" update-mime-database /usr/share/mime
|
||||
fi
|
||||
|
||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||
optional_refresh "desktop-базу" update-desktop-database -q /usr/share/applications
|
||||
fi
|
||||
|
||||
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
|
||||
optional_refresh "кэш иконок" gtk-update-icon-cache -f -q /usr/share/icons/hicolor
|
||||
fi
|
||||
|
||||
if command -v kbuildsycoca6 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca6 --noincremental
|
||||
elif command -v kbuildsycoca5 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca5 --noincremental
|
||||
fi
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
optional_refresh() {
|
||||
local label=$1
|
||||
shift
|
||||
if ! "$@"; then
|
||||
echo "Предупреждение: не удалось обновить ${label}." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
if command -v update-mime-database >/dev/null 2>&1; then
|
||||
optional_refresh "MIME-базу" update-mime-database /usr/share/mime
|
||||
fi
|
||||
|
||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||
optional_refresh "desktop-базу" update-desktop-database -q /usr/share/applications
|
||||
fi
|
||||
|
||||
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
|
||||
optional_refresh "кэш иконок" gtk-update-icon-cache -f -q /usr/share/icons/hicolor
|
||||
fi
|
||||
|
||||
if command -v kbuildsycoca6 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca6 --noincremental
|
||||
elif command -v kbuildsycoca5 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca5 --noincremental
|
||||
fi
|
||||
@@ -0,0 +1 @@
|
||||
include = "../stapler-repo.toml"
|
||||
Reference in New Issue
Block a user