Compare commits

..

2 Commits

Author SHA1 Message Date
madomado 4f0619c573 bump
Signed-off-by: madomado <madonuko@outlook.com>
2025-09-23 11:52:53 +08:00
madomado e37d1e4fba fix(mesa): disable with_d3d12 if aarch64
Signed-off-by: madomado <madonuko@outlook.com>
2025-09-23 11:52:27 +08:00
745 changed files with 5845 additions and 12401 deletions
+4 -5
View File
@@ -1,17 +1,16 @@
{
"name": "Terra Devcontainer",
"image": "ghcr.io/terrapkg/builder:frawhide",
"runArgs": ["--privileged"],
"runArgs": [
"--privileged"
],
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"customizations": {
"vscode": {
"extensions": [
"rhaiscript.vscode-rhai",
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
"rhaiscript.vscode-rhai"
]
}
},
-172
View File
@@ -1,172 +0,0 @@
// Configure sccache environment variables for GitHub Actions cache integration
//
// This script is still unused until we build terra-sccache with this supported,
// Turns out that Fedora's sccache build has the GHA feature support disabled.
//
// Note: ACTIONS_CACHE_SERVICE_V2 and SCCACHE_GHA_ENABLED are set at workflow level
module.exports = async ({ github, context, core, exec }) => {
// Find sccache path (try which command)
let sccachePath = "sccache";
try {
const result = await exec.getExecOutput("which", ["sccache"], {
ignoreReturnCode: true,
silent: true,
});
if (result.exitCode === 0 && result.stdout.trim()) {
sccachePath = result.stdout.trim();
core.info(`Found sccache at: ${sccachePath}`);
}
} catch (e) {
core.debug(`Could not find sccache path: ${e.message}`);
}
// Check sccache version
try {
const versionResult = await exec.getExecOutput(sccachePath, ["--version"], {
ignoreReturnCode: true,
silent: true,
});
core.info(`sccache version: ${versionResult.stdout.trim()}`);
} catch (e) {
core.warning(`Could not get sccache version: ${e.message}`);
}
// Debug: Show what environment variables are available
core.info("=== Environment Variables Diagnostic ===");
core.info(`SCCACHE_GHA_ENABLED: ${process.env.SCCACHE_GHA_ENABLED}`);
core.info(
`ACTIONS_CACHE_SERVICE_V2: ${process.env.ACTIONS_CACHE_SERVICE_V2}`,
);
core.info(
`ACTIONS_RESULTS_URL: ${process.env.ACTIONS_RESULTS_URL ? "SET (length: " + process.env.ACTIONS_RESULTS_URL.length + ")" : "NOT SET"}`,
);
core.info(
`ACTIONS_RUNTIME_TOKEN: ${process.env.ACTIONS_RUNTIME_TOKEN ? "SET (length: " + process.env.ACTIONS_RUNTIME_TOKEN.length + ")" : "NOT SET"}`,
);
core.info(`RUSTC_WRAPPER: ${process.env.RUSTC_WRAPPER}`);
core.info(`SCCACHE_LOG: ${process.env.SCCACHE_LOG}`);
core.info("========================================");
// Export SCCACHE_PATH so it's available to subsequent steps
core.exportVariable("SCCACHE_PATH", sccachePath);
// Expose the GHA cache related variables to make it easier for users to
// integrate with GHA support (from upstream mozilla/sccache-action)
if (process.env.ACTIONS_RESULTS_URL) {
core.exportVariable("ACTIONS_RESULTS_URL", process.env.ACTIONS_RESULTS_URL);
core.info("✓ Exported ACTIONS_RESULTS_URL");
} else {
core.error(
"ACTIONS_RESULTS_URL is not set - GitHub Actions cache WILL NOT work",
);
}
if (process.env.ACTIONS_RUNTIME_TOKEN) {
core.exportVariable(
"ACTIONS_RUNTIME_TOKEN",
process.env.ACTIONS_RUNTIME_TOKEN,
);
core.info("✓ Exported ACTIONS_RUNTIME_TOKEN");
} else {
core.error(
"ACTIONS_RUNTIME_TOKEN is not set - GitHub Actions cache WILL NOT work",
);
}
// Set cache version and restore keys for this specific build matrix
if (process.env.SCCACHE_GHA_VERSION) {
core.exportVariable("SCCACHE_GHA_VERSION", process.env.SCCACHE_GHA_VERSION);
}
if (process.env.SCCACHE_GHA_CACHE_FROM) {
core.exportVariable(
"SCCACHE_GHA_CACHE_FROM",
process.env.SCCACHE_GHA_CACHE_FROM,
);
}
// Check if cache busting is enabled
const inputs =
(github &&
github.context &&
github.context.payload &&
github.context.payload.inputs) ||
{};
const rawBustCache =
inputs.bust_cache ??
inputs.bustCache ??
process.env.INPUT_BUST_CACHE ??
process.env.BUST_CACHE;
let bustCache = false;
if (typeof rawBustCache === "string") {
const v = rawBustCache.toLowerCase().trim();
bustCache = v === "true" || v === "1" || v === "yes";
} else {
bustCache = !!rawBustCache;
}
if (bustCache) {
core.exportVariable("SCCACHE_RECACHE", "1");
core.info("SCCACHE_RECACHE enabled because bust_cache is true");
}
// Stop any running sccache daemon so it picks up the new environment variables
core.info("Stopping any running sccache daemon to pick up configuration...");
try {
await exec.exec(sccachePath, ["--stop-server"], {
ignoreReturnCode: true,
});
core.info("✓ sccache daemon stopped successfully");
} catch (e) {
core.debug(
`Could not stop sccache daemon (it may not be running): ${e.message}`,
);
}
// Verify sccache can see the GHA environment variables by starting server with explicit env
core.info("Starting sccache server with GHA environment variables...");
const sccacheEnv = {
...process.env,
SCCACHE_GHA_ENABLED: process.env.SCCACHE_GHA_ENABLED || "on",
ACTIONS_CACHE_SERVICE_V2: process.env.ACTIONS_CACHE_SERVICE_V2 || "on",
};
try {
await exec.exec(sccachePath, ["--start-server"], {
ignoreReturnCode: true,
env: sccacheEnv,
});
core.info("✓ sccache server started");
} catch (e) {
core.warning(`Could not start sccache server: ${e.message}`);
}
// Show the current sccache configuration
core.info("Verifying sccache configuration:");
try {
const statsResult = await exec.getExecOutput(
sccachePath,
["--show-stats"],
{
ignoreReturnCode: true,
env: sccacheEnv,
},
);
// Check if it's using GitHub Actions cache
if (statsResult.stdout.includes("GitHub Actions")) {
core.info("✓ sccache is configured to use GitHub Actions cache");
} else if (statsResult.stdout.includes("Local disk")) {
core.error(
"✗ sccache is using Local disk cache instead of GitHub Actions cache!",
);
core.error(
"This means SCCACHE_GHA_ENABLED or required env vars are not being recognized.",
);
core.info("Stats output:");
core.info(statsResult.stdout);
}
} catch (e) {
core.debug(`Could not show sccache stats: ${e.message}`);
}
};
-121
View File
@@ -1,121 +0,0 @@
module.exports = async ({ github, context, core, exec }) => {
if (!exec) {
throw new Error("exec parameter is required but was not provided");
}
// Use SCCACHE_PATH if set, otherwise default to 'sccache' (will use PATH)
const sccachePath = process.env.SCCACHE_PATH || "sccache";
core.debug(`Using sccache path: ${sccachePath}`);
const percentage = (x, y) => Math.round((x / y) * 100 || 0);
const plural = (count, base, pluralForm = base + "s") =>
`${count} ${count === 1 ? base : pluralForm}`;
const sumStats = (stats) =>
Object.values(stats.counts).reduce((acc, val) => acc + val, 0);
const formatDuration = (duration) => {
const ms = duration.nanos / 1e6;
return `${duration.secs}s ${ms}ms`;
};
const formatJsonStats = (stats) => {
const cacheErrorCount = sumStats(stats.stats.cache_errors);
const cacheHitCount = sumStats(stats.stats.cache_hits);
const cacheMissCount = sumStats(stats.stats.cache_misses);
const totalHits = cacheHitCount + cacheMissCount + cacheErrorCount;
const ratio = percentage(cacheHitCount, totalHits);
const writeDuration = formatDuration(stats.stats.cache_write_duration);
const readDuration = formatDuration(stats.stats.cache_read_hit_duration);
const compilerDuration = formatDuration(
stats.stats.compiler_write_duration,
);
const noticeHit = plural(cacheHitCount, "hit");
const noticeMiss = plural(cacheMissCount, "miss", "misses");
const noticeError = plural(cacheErrorCount, "error");
const notice = `${ratio}% - ${noticeHit}, ${noticeMiss}, ${noticeError}`;
const table = [
[{ data: "Cache hit %", header: true }, { data: `${ratio}%` }],
[
{ data: "Cache hits", header: true },
{ data: cacheHitCount.toString() },
],
[
{ data: "Cache misses", header: true },
{ data: cacheMissCount.toString() },
],
[
{ data: "Cache errors", header: true },
{ data: cacheErrorCount.toString() },
],
[
{ data: "Compile requests", header: true },
{ data: stats.stats.compile_requests.toString() },
],
[
{ data: "Requests executed", header: true },
{ data: stats.stats.requests_executed.toString() },
],
[
{ data: "Cache writes", header: true },
{ data: stats.stats.cache_writes.toString() },
],
[
{ data: "Cache write errors", header: true },
{ data: stats.stats.cache_write_errors.toString() },
],
[{ data: "Cache write duration", header: true }, { data: writeDuration }],
[
{ data: "Cache read hit duration", header: true },
{ data: readDuration },
],
[
{ data: "Compiler write duration", header: true },
{ data: compilerDuration },
],
];
return { table, notice };
};
const getOutput = async (command, args = []) => {
core.debug(`get_output: ${command} ${args.join(" ")}`);
const output = await exec.getExecOutput(command, args, {
ignoreReturnCode: false,
silent: false,
});
if (!output.stdout.endsWith("\n")) {
process.stdout.write("\n");
}
return output.stdout.toString();
};
const humanStats = await core.group("Get human-readable stats", async () => {
return getOutput(sccachePath, ["--show-stats"]);
});
const jsonStats = await core.group("Get JSON stats", async () => {
return getOutput(sccachePath, ["--show-stats", "--stats-format=json"]);
});
const stats = JSON.parse(jsonStats);
const formattedStats = formatJsonStats(stats);
core.notice(formattedStats.notice, {
title: `sccache stats - ${context.job}`,
});
core.info("\nFull human-readable stats:");
core.info(humanStats);
core.summary.addHeading("sccache stats", 2);
core.summary.addTable(formattedStats.table);
core.summary.addDetails(
"Full human-readable stats",
"\n\n```\n" + humanStats + "\n```\n\n",
);
core.summary.addDetails(
"Full JSON Stats",
"\n\n```json\n" + JSON.stringify(stats, null, 2) + "\n```\n\n",
);
await core.summary.write();
};
-63
View File
@@ -43,66 +43,3 @@ jobs:
with:
packages: ${{ needs.manifest.outputs.build_matrix }}
publish: ${{ github.event_name == 'push' }}
appstream:
needs: build
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/appstream-generator:main
steps:
- name: Download artifacts
uses: actions/download-artifact@v5
with:
merge-multiple: true
path: ./artifacts
- name: Generate test catalog
# run appstream-builder, then add step summary
run: |
set -x
appstream-builder -v \
--packages-dir=artifacts/rpms \
--icons-dir=icons \
--include-failed \
--output-dir=output \
--uncompressed-icons \
--origin=test \
--basename=test \
--veto-ignore=missing-parents \
--veto-ignore=missing-info 2>&1 | tee asb.log
- name: Export logs
id: export_logs
run: |
echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```log' >> $GITHUB_STEP_SUMMARY
cat asb.log >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '---' >> $GITHUB_STEP_SUMMARY
- name: Report Summary
id: report_summary
run: |
echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if grep -q "veto" asb.log; then
echo "::group::Vetoed packages"
echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details."
echo "::endgroup::"
fi
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
for file in output/*.xml.gz; do
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
zcat "$file" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
done
+1 -25
View File
@@ -18,11 +18,6 @@ on:
required: false
type: string
default: ""
bust_cache:
description: "Whether to bust the cache"
required: false
type: boolean
default: false
workflow_dispatch:
inputs:
packages:
@@ -35,12 +30,6 @@ on:
type: boolean
default: true
env:
RUSTC_WRAPPER: sccache
# SCCACHE_NO_DAEMON: "1"
# Disable incremental compilation so sccache works better
CARGO_INCREMENTAL: "false"
jobs:
build:
strategy:
@@ -75,19 +64,6 @@ jobs:
dir=$(dirname ${{ matrix.pkg.pkg }})
dnf5 builddep -y ${dir}/*.spec
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Configure sccache
run: |
set -euo pipefail
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
if [ "${{ inputs.bust_cache }}" = "true" ]; then
echo "SCCACHE_BUST_CACHE=true" >> $GITHUB_ENV
fi
- name: Build with Andaman
run: anda build -D "vendor Terra" ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
@@ -129,4 +105,4 @@ jobs:
run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
- name: Notify Madoguchi (Failure)
if: inputs.publish && (cancelled() || failure())
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
git config --global commit.gpgsign true
- name: Backport Action
uses: sorenlouv/backport-github-action@v10.2.0
uses: sorenlouv/backport-github-action@v9.5.1
with:
github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }}
auto_backport_label_prefix: sync-
+2 -2
View File
@@ -13,9 +13,9 @@ jobs:
matrix:
branch:
- frawhide
- f43
- f42
- f41
- f42
- f43
- el10
container:
image: ghcr.io/terrapkg/builder:frawhide
+2 -2
View File
@@ -48,9 +48,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over f42 || true
copy_over f43 || true
copy_over el10 || true
git push -u origin --all
fi
+2 -2
View File
@@ -48,9 +48,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over f42 || true
copy_over f43 || true
copy_over el10 || true
git push -u origin --all
fi
+2 -2
View File
@@ -48,9 +48,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over f42 || true
copy_over f43 || true
copy_over el10 || true
git push -u origin --all
fi
+1 -4
View File
@@ -1,8 +1,5 @@
{
"recommendations": [
"rhaiscript.vscode-rhai",
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
"rhaiscript.vscode-rhai"
]
}
-9
View File
@@ -1,9 +0,0 @@
// There is no HCL extension, but the Terraform extension grants HCL support
{
"auto_install_extensions": {
"RPM Spec": true,
"XML": true,
"rhai": true,
"Terraform": true
}
}
+4 -15
View File
@@ -1,5 +1,9 @@
# Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_40.svg?header=Terra+40)](https://repology.org/repository/terra_40)
[![Repository status](https://repology.org/badge/repository-big/terra_41.svg?header=Terra+41)](https://repology.org/repository/terra_41)
[![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide)
Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured.
@@ -9,8 +13,6 @@ This monorepo contains the package manifests for all packages in Terra.
## Installation
The latest detailed instructions are available in our Devdocs: https://developer.fyralabs.com/terra/installing
### Fedora
```bash
@@ -42,23 +44,10 @@ And Terra EL itself can be installed with:
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terrael$releasever' terra-release
```
## Contributions
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
## Documentation
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
## pkgs.org
pkgs.org provides a list of the packages available in the main stream: https://fedora.pkgs.org/rawhide/terra/
## Questions?
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
+1
View File
@@ -0,0 +1 @@
13.0.0.50
@@ -1,5 +1,5 @@
Name: bitwarden-cli.bin
Version: 2025.11.0
Version: 2025.9.0
Release: 1%?dist
Summary: Bitwarden command-line client
License: GPL-3.0-only
+1 -1
View File
@@ -6,7 +6,7 @@
%endif
Name: bitwarden-cli
Version: 2025.10.0
Version: 2025.9.0
Release: 1%?dist
Summary: Bitwarden command-line client
License: GPL-3.0-only
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "chdig.spec"
}
}
-35
View File
@@ -1,35 +0,0 @@
%undefine __brp_mangle_shebangs
Name: chdig
Version: 25.11.2
Release: 1%?dist
Summary: Dig into ClickHouse with TUI interface
URL: https://github.com/azat/chdig
Source0: %url/archive/refs/tags/v%{version}.tar.gz
License: MIT
BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold clang fontconfig-devel glib2 libgcc
%description
%{summary}.
%prep
%autosetup -n %{name}-%{version}
%cargo_prep_online
%build
%cargo_build
%install
install -Dm755 target/rpm/chdig %{buildroot}%{_bindir}/chdig
%cargo_license_summary_online
%{cargo_license_online -a} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/chdig
%changelog
* Fri Nov 14 2025 Owen Zimmerman <owen@fyralabs.com>
- Intial Commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("azat/chdig"));
+1 -1
View File
@@ -8,7 +8,7 @@ for background device management, as well as a GUI to expertly customize your se
%global __brp_mangle_shebangs %{nil}
Name: coolercontrol
Version: 3.0.2
Version: 2.2.2
Release: 1%?dist
Summary: Cooling device control for Linux
License: GPL-3.0-or-later
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.814
Version: 0.0.758
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.814
Version: 0.0.758
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.116
Version: 0.0.111
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.168
Version: 0.0.161
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.168
Version: 0.0.161
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.116
Version: 0.0.111
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "dorion.spec"
}
}
-63
View File
@@ -1,63 +0,0 @@
%undefine __brp_mangle_shebangs
Name: dorion
Version: 6.11.0
Release: 1%?dist
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
SourceLicense: GPL-3.0-only
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
URL: https://spikehd.dev/projects/dorion
Source0: https://github.com/SpikeHD/Dorion/archive/refs/tags/v%version.tar.gz
Source1: https://raw.githubusercontent.com/uwu/shelter-builds/main/shelter.js
Packager: madonuko <mado@fyralabs.com>
BuildRequires: pnpm rpm_macro(cargo_install) rust-packaging
BuildRequires: cmake gcc-c++
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1)
BuildRequires: pkgconfig(openssl)
%description
Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more!
%prep
%autosetup -n Dorion-%version
pnpm i
cat<<EOF > Dorion.desktop
[Desktop Entry]
Categories=Network;
Exec=Dorion
Icon=Dorion
Name=Dorion
Terminal=false
Type=Application
MimeType=x-scheme-handler/discord
EOF
cd src-tauri
%cargo_prep_online
cp %{S:1} injection/shelter.js
%build
pnpm run build:js
cd src-tauri
cd extension_webkit
%cmake
%cmake_build
cp %__cmake_builddir/libextension.so .
cd ..
%cargo_license_summary_online
%{cargo_license_online} > ../LICENSE.dependencies
%install
install -Dpm655 Dorion.desktop -t %buildroot%_datadir/applications
cd src-tauri
%cargo_install
install -Dpm644 icons/icon.png %buildroot%_iconsdir/hicolor/512x512/apps/Dorion.png
%files
%doc README.md
%license LICENSE LICENSE.dependencies
%_bindir/Dorion
%_iconsdir/hicolor/512x512/apps/Dorion.png
%_datadir/applications/Dorion.desktop
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_rawfile("SpikeHD/Dorion", "main", "package.json").json().version);
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 9615228a515fd77abb0cab5de21528f1f33d26f6
%global commit_date 20251104
%global commit 5470662f25a0fc9cdb024d2e3dce4108f5cc529a
%global commit_date 20250917
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.22.0
Version: 0.20.1
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
+3 -3
View File
@@ -1,9 +1,9 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 13.3.0
%global commit 7ed3cfc83eda4bd33f5044041075689bb517a314
%global ver 13.1.0
%global commit 095dcba94f201b088552f3f1341b55847197104f
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20251130
%global commit_date 20250923
%global devel_name QtColorWidgets
%global _distro_extra_cflags -fuse-ld=mold
%global _distro_extra_cxxflags -fuse-ld=mold
+1 -1
View File
@@ -9,7 +9,7 @@
%endif
Name: goofcord
Version: 1.11.2
Version: 1.10.3
Release: 1%?dist
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
+1 -1
View File
@@ -4,7 +4,7 @@
%global crate halloy
Name: halloy
Version: 2025.12
Version: 2025.9
Release: 1%?dist
Summary: An open-source IRC client written in Rust, with the Iced GUI library
Packager: Yoong jin <solomoncyj@gmail.com>
+2 -2
View File
@@ -3,10 +3,10 @@
%global gtk4_version 4.14.4
%global libadwaita_version 1.5.1
%global pure_protobuf_version 2.0.0
%global raw_ver v1.95.0
%global raw_ver v1.88.0
Name: komikku
Version: 1.95.0
Version: 1.88.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
@@ -1,5 +1,5 @@
%global commit 94128d8fbcac0a14af4c529b29e0d91b0b997796
%global commit_date 20251114
%global commit b55a0f58bae0c633498948ddab054f96da6da2d0
%global commit_date 20250911
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global debug_package %nil
%global __strip /bin/true
+2 -2
View File
@@ -9,8 +9,8 @@
%endif
Name: legcord
Version: 1.1.6
Release: 1%?dist
Version: 1.1.5
Release: 2%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "librepods.spec"
}
}
@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="desktop-application">
<id>com.github.librepods</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-only</project_license>
<icon
type="remote"
>https://github.com/kavishdevar/librepods/blob/main/linux/assets/librepods.png</icon>
<name>librepods</name>
<summary>AirPods liberated from Apple's ecosystem</summary>
<description>
<p>
LibrePods unlocks Apple's exclusive AirPods features on non-Apple devices.
Get access to noise control modes, adaptive transparency, ear detection,
hearing aid, customized transparency mode, battery status, and more - all the
premium features you paid for but Apple locked to their ecosystem.
</p>
</description>
<launchable type="desktop-id">me.kavishdevar.librepods.desktop</launchable>
<url type="homepage">https://github.com/kavishdevar/librepods</url>
<provides>
<binary>librepods</binary>
</provides>
<keywords>
<keyword>airpods</keyword>
<keyword>librepods</keyword>
</keywords>
<releases>
<release version="0.1.0" />
</releases>
</component>
-63
View File
@@ -1,63 +0,0 @@
%global appid com.github.librepods
Name: librepods
Summary: AirPods liberated from Apple's ecosystem
Version: 0.1.0
Release: 1%?dist
License: GPL-3.0-only
URL: https://github.com/kavishdevar/librepods
Source0: %url/archive/refs/tags/linux-v%version.tar.gz
Source1: com.github.librepods.metainfo.xml
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: g++
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtconnectivity-devel
BuildRequires: qt6-qtmultimedia-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: openssl-devel
BuildRequires: anda-srpm-macros
BuildRequires: terra-appstream-helper
Requires: glibc
Requires: openssl
Requires: qt6-qtbase
Requires: qt6-qtconnectivity
Requires: qt6-qtdeclarative
%description
LibrePods unlocks Apple's exclusive AirPods features on non-Apple devices.
Get access to noise control modes, adaptive transparency, ear detection,
hearing aid, customized transparency mode, battery status, and more - all the
premium features you paid for but Apple locked to their ecosystem.
%prep
%autosetup -n %{name}-linux-v%{version}
%build
pushd linux
%cmake
%cmake_build
popd
%install
install -Dm644 linux-rust/assets/icon.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/librepods.png
pushd linux
%cmake_install
popd
%terra_appstream -o %{SOURCE1}
%files
%doc README.md linux/README.md CHANGELOG.md
%license LICENSE
%{_bindir}/librepods
%{_datadir}/applications/me.kavishdevar.librepods.desktop
%{_metainfodir}/com.github.librepods.metainfo.xml
%{_iconsdir}/hicolor/512x512/apps/librepods.png
%changelog
* Wed Nov 19 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-4
View File
@@ -1,4 +0,0 @@
let tags = json_arr(get("https://api.github.com/repos/kavishdevar/librepods/tags"));
let tag = tags.find(|t| t.name.starts_with("linux-v"));
tag.name.crop(7);
rpm.version(tag.name);
+2 -2
View File
@@ -1,9 +1,9 @@
%global forgeurl0 https://gitlab.com/mission-center-devs/mission-center
Version: 1.1.0
Version: 1.0.2
%global tag0 v%{version}
%global forgeurl1 https://gitlab.com/mission-center-devs/gng
%global commit1 1a8916cfeb06a3d63eefa8b17972eb2988e16da3
%global commit1 319d95d29cbc3c373ae61cff228e8440fbaadbbb
%forgemeta -a
+1 -1
View File
@@ -3,6 +3,6 @@ project pkg {
spec = "mpv-nightly.spec"
}
labels {
nightly = 1
nightly = "1"
}
}
+2 -2
View File
@@ -1,9 +1,9 @@
# Disable X11 for RHEL 10+
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
%global commit 23f9381b8053ad7fcba11b61607497ce43eaebc7
%global commit ee0f7013478abad3f7fcd05a7f61d360b7447b18
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20251129
%global commit_date 20250923
%global ver 0.40.0
Name: mpv-nightly
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="desktop-application">
<id>com.github.neohtop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<icon type="local">/usr/share/icons/hicolor/128x128/apps/NeoHtop.png</icon>
<name>NeoHtop</name>
<summary>System monitoring on steroids</summary>
<description>
<p>
A modern, cross-platform system monitor built on top of Svelte, Rust, and Tauri.
</p>
</description>
<launchable type="desktop-id">NeoHtop.desktop</launchable>
<url type="homepage">https://abdenasser.github.io/neohtop/</url>
<provides>
<binary>neohtop</binary>
</provides>
<keywords>
<keyword>system monitor</keyword>
</keywords>
<releases>
<release version="1.2.0" />
</releases>
</component>
+1 -12
View File
@@ -1,15 +1,13 @@
%global __brp_mangle_shebangs %{nil}
%global appid com.github.neohtop
Name: neohtop
Version: 1.2.0
Release: 2%?dist
Release: 1%?dist
Summary: System monitoring on steroids
License: MIT
URL: https://github.com/Abdenasser/neohtop
Source0: %url/archive/refs/tags/v%version.tar.gz
Source1: NeoHtop.desktop
Source2: com.github.neohtop.metainfo.xml
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: rust
BuildRequires: nodejs-npm
@@ -20,10 +18,6 @@ BuildRequires: gtk3-devel
BuildRequires: rust-gdk-pixbuf-sys-devel
BuildRequires: glib2-devel
BuildRequires: openssl-devel
BuildRequires: anda-srpm-macros
BuildRequires: terra-appstream-helper
Provides: NeoHtop
%description
%summary.
@@ -43,8 +37,6 @@ install -Dpm644 src-tauri/icons/128x128@2x.png %buildroot%{_iconsdir}/hicolor/25
install -Dpm644 src-tauri/icons/32x32.png %buildroot%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/128x128.png %buildroot%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
%terra_appstream -o %{SOURCE2}
%files
%doc README.md
%license LICENSE
@@ -53,10 +45,7 @@ install -Dpm644 src-tauri/icons/128x128.png %buildroot%{_iconsdir}/hicolor/128x1
%{_iconsdir}/hicolor/256x256@2/apps/NeoHtop.png
%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
%{_metainfodir}/com.github.neohtop.metainfo.xml
%changelog
* Wed Nov 19 2025 Owen Zimmerman <owen@fyralabs.com>
- Add metainfo
* Sat Feb 15 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial package
+1 -1
View File
@@ -2,7 +2,7 @@
%define debug_package %nil
Name: peazip
Version: 10.7.0
Version: 10.6.1
Release: 1%?dist
Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager
License: LGPL-3.0-only
+1 -1
View File
@@ -2,7 +2,7 @@
%global pypi_name protontricks
Name: terra-%{pypi_name}
Version: 1.13.1
Version: 1.13.0
Release: 1%?dist
Summary: Simple wrapper that does winetricks things for Proton enabled games
BuildArch: noarch
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "rasputin.spec"
}
labels {
nightly = 1
}
}
-45
View File
@@ -1,45 +0,0 @@
%global commit a822eb767a330711e67714428c1c56cf3c82f044
%global commit_date 20251118
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rasputin
Version: 0~%commit_date.git~%shortcommit
Release: 1%?dist
Summary: Mouse and keyboard settings for Raspberry Pi Desktop
License: BSD-3-Clause
URL: https://github.com/raspberrypi-ui/rasputin
Source0: %url/archive/%commit.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: gtk3-devel
BuildRequires: libxml2-devel
BuildRequires: intltool
BuildRequires: gcc
Requires: libxml2
%description
%summary.
%prep
%autosetup -n rasputin-%{commit}
%build
%meson
%meson_build
%install
%meson_install
%find_lang rpcc_rasputin
%files -f rpcc_rasputin.lang
%license debian/copyright
%{_datadir}/rpcc/ui/rasputin.ui
%{_libdir}/rpcc/librpcc_rasputin.so
%changelog
* Sun Oct 26 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("raspberrypi-ui/appset"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
-3
View File
@@ -2,7 +2,4 @@ project pkg {
rpm {
spec = "rp-appset.spec"
}
labels {
nightly = 1
}
}
+8 -12
View File
@@ -1,5 +1,5 @@
%global commit a822eb767a330711e67714428c1c56cf3c82f044
%global commit_date 20251118
%global commit 5b4b8f65c3d2795a61e765a01e07af9bfe3d1990
%global commit_date 20250501
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: appset
@@ -19,6 +19,7 @@ BuildRequires: intltool
BuildRequires: gcc
Requires: libxml2
Requires: gtk3
Provides: pipanel
Provides: rp-appset
@@ -36,20 +37,15 @@ Provides: rp-appset
%install
%meson_install
%find_lang rpcc_pipanel
%find_lang pipanel
%files -f rpcc_pipanel.lang
%files -f pipanel.lang
%doc README
%license debian/copyright
%{_datadir}/rpcc/ui/pipanel.ui
%{_libdir}/rpcc/librpcc_pipanel.so
%{_iconsdir}/hicolor/24x24/apps/appset-desktop.png
%{_iconsdir}/hicolor/24x24/apps/appset-taskbar.png
%{_iconsdir}/hicolor/32x32/apps/appset-desktop.png
%{_iconsdir}/hicolor/32x32/apps/appset-taskbar.png
%{_bindir}/pipanel
%{_datadir}/applications/pipanel.desktop
%{_datadir}/pipanel/ui/pipanel.ui
%changelog
* Sat Oct 25 2025 Owen Zimmerman <owen@fyralabs.com>
- Follow upstream by changing to build plugin instead of application
* Fri Aug 15 2025 Owen Zimmerman <owen@fyralabs.com>
- Package appset
-3
View File
@@ -2,7 +2,4 @@ project pkg {
rpm {
spec = "rp-bookshelf.spec"
}
labels {
nightly = 1
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit d09cc3fdb2071552f18b4564e1c77cb288b580db
%global commit_date 20251104
%global commit 53102fb6f4b0324cc89635f0ef58966c6b847a74
%global commit_date 20250327
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rp-bookshelf
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "rpcc.spec"
}
labels {
nightly = 1
}
}
-57
View File
@@ -1,57 +0,0 @@
%global commit 9527e92f697ad380ce8669a2b6c61260abafab19
%global commit_date 20251126
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rpcc
Version: 0~%commit_date.git~%shortcommit
Release: 1%?dist
Summary: Raspberry Pi Control Centre - an extensible settings application for the Raspberry Pi Desktop
License: BSD-3-Clause
URL: https://github.com/raspberrypi-ui/rpcc
Source0: %url/archive/%commit.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: gtk3-devel
BuildRequires: libxml2-devel
BuildRequires: intltool
BuildRequires: gcc
Requires: libxml2
Requires: gtk3
%description
Raspberry Pi Control Centre - an extensible settings application for the Raspberry Pi Desktop
rpcc is a settings application which loads tab pages at runtime from plugin modules.
A number of packages contain plugins which are installed as standard on Raspberry Pi images:
- pipanel - appearance settings
- rc-gui - Raspberry Pi Configuration
- raindrop - screen layout
- rasputin - mouse and keyboard input
- rpinters - printers
%prep
%autosetup -n rpcc-%commit
%build
%meson
%meson_build
%install
%meson_install
%find_lang rpcc
%files -f rpcc.lang
%doc README
%license debian/copyright
%{_bindir}/rpcc
%{_datadir}/applications/rpcc.desktop
%{_datadir}/rpcc/ui/rpcc.ui
%changelog
* Sat Oct 25 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("raspberrypi-ui/rpcc"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "rpinters.spec"
}
labels {
nightly = 1
}
}
-45
View File
@@ -1,45 +0,0 @@
%global commit 1815ad67432803843058a3cf7eefbf376e9c02c9
%global commit_date 20251029
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rpinters
Version: 0~%commit_date.git~%shortcommit
Release: 1%?dist
Summary: Raspberry Pi printing utility module
License: GPL-2+ AND BSD-3-Clause
URL: https://github.com/raspberrypi-ui/rpinters
Source0: %url/archive/%commit.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: gcc
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(cups)
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(gsettings-desktop-schemas)
%description
%summary.
%prep
%autosetup -n rpinters-%commit
%build
%meson
%meson_build
%install
%meson_install
%find_lang rpcc_%{name}
%files -f rpcc_%{name}.lang
%doc README
%license debian/copyright
%{_datadir}/rpcc/ui/%{name}.ui
%{_libdir}/rpcc/librpcc_rpinters.so
%changelog
* Fri Aug 08 2025 Owen Zimmerman <owen@fyralabs.com>
- Package bookshelf
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("raspberrypi-ui/rpinters"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
+2 -2
View File
@@ -1,4 +1,4 @@
%global ver 2025-11-30
%global ver 2025-09-23
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
@@ -17,7 +17,7 @@ Source0: https://github.com/ruffle-rs/ruffle/archive/refs/tags/nightly-%v
Provides: ruffle
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros mold
BuildRequires: gcc-c++ cmake
BuildRequires: gcc-c++ cmake java
BuildRequires: java-latest-openjdk-headless
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(gtk+-3.0)
+8 -93
View File
@@ -1,34 +1,10 @@
%global __requires_exclude_from %{_datadir}/%{name}/.*
%bcond_without server_prebuilt
%global appid com.genymobile.scrcpy
%global org com.genymobile
%global appstream_component desktop-application
# NOTE: We only do this on aarch64 to avoid
# duplicate build artifacts on x86_64
#
# If you are building this package locally,
# set --with server to cross-compile/bundle the server APK subpackage.
#
# The server APK is architecture independent.
%ifarch aarch64
%bcond_without server
%else
%bcond_with server
%endif
Name: scrcpy
Version: 3.3.3
Release: 2%?dist
Version: 3.3.2
Release: 1%?dist
Summary: Display and control your Android device
License: Apache-2.0 AND Proprietary
License: Apache-2.0
URL: https://github.com/Genymobile/scrcpy
Source0: %url/archive/refs/tags/v%version.tar.gz
Source1: https://developer.android.com/studio/terms.html
%if %{with server_prebuilt}
Source10: https://github.com/Genymobile/scrcpy/releases/download/v%{version}/scrcpy-server-v%{version}
%endif
Packager: madonuko <mado@fyralabs.com>
BuildRequires: meson ninja-build cmake nasm gcc
BuildRequires: pkgconfig(sdl2)
@@ -42,78 +18,29 @@ BuildRequires: pkgconfig(libv4l2)
BuildRequires: cmake(VulkanHeaders)
BuildRequires: vulkan-loader
BuildRequires: OpenCL-ICD-Loader
BuildRequires: python3-sdkmanager
Requires: %{name}-server
# Gradle here really wants Java 21-23 to work properly
# Java 25 breaks the build
BuildRequires: java-21-openjdk-devel
BuildConflicts: dkms-nvidia akmod-nvidia
Requires: android-tools
%description
This application mirrors Android devices (video and audio) connected via USB or TCP/IP and allows control using the computer's keyboard and mouse. It does not require root access or an app installed on the device. It works on Linux, Windows, and macOS.
%if %{with server}
%package server
# This package is architecture independent, it's
# an Android APK file.
Summary: Android server for %{name}
BuildArch: noarch
%description server
Android server for %{name}
%endif
%pkg_completion -Bz
%prep
%autosetup
mkdir -p /tmp/android_sdk
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_SDK_ROOT=/tmp/android_sdk
sdkmanager --install tools --sdk_root /tmp/android_sdk
echo y | sdkmanager --license
%build
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export WORK_DIR=$PWD/work
export OUTPUT_DIR=$PWD/output
%dnl #export CFLAGS="$(echo $CFLAGS | sed 's/-D_GNU_SOURCE[=1]*//g')"
%dnl #export CPPFLAGS="$(echo $CPPFLAGS | sed 's/-D_GNU_SOURCE[=1]*//g')"
export VERSION=v%version
export ANDROID_SDK_ROOT=/tmp/android_sdk
# TODO: Gradle 8.9 seems to have problems with Java
# 21-25, so we can't build the APK here at all
# For now, let's use the prebuilt server
# https://github.com/gradle/gradle/issues/35111
%if %{with server}
%if %{with server_prebuilt}
%meson -Dprebuilt_server=%{SOURCE10}
%else
%meson -Dcompile_server=true
%endif
%else
%meson -Dcompile_server=false
%endif
%meson \
-Dcompile_server=false \
-Dportable=false \
-Dstatic=false
%meson_build
rm -rf /tmp/android_sdk
%install
pushd "%_vpath_builddir"
%ninja_install
popd
ls -la
%if %{with server}
install -Dm 644 %{SOURCE1} %{buildroot}%{_datadir}/licenses/LICENSE.android-sdk-license
%endif
%terra_appstream
%meson_install
%files
%doc README.md
@@ -121,17 +48,5 @@ install -Dm 644 %{SOURCE1} %{buildroot}%{_datadir}/licenses/LICENSE.android-sdk-
%_bindir/scrcpy
%_datadir/applications/scrcpy-console.desktop
%_datadir/applications/scrcpy.desktop
%_datadir/bash-completion/completions/scrcpy
%_iconsdir/hicolor/*/apps/scrcpy.png
%_metainfodir/%{appid}.metainfo.xml
%_mandir/man1/scrcpy.1.*
%if %{with server}
%files server
%license %{_datadir}/licenses/LICENSE.android-sdk-license
%_datadir/scrcpy/scrcpy-server
%endif
%changelog
* Thu Oct 02 2025 june-fish <june@fyralabs.com>
- fix android sdk bug
+13 -47
View File
@@ -1,12 +1,9 @@
#? https://gitlab.archlinux.org/archlinux/packaging/packages/signal-desktop/-/blob/main/PKGBUILD
%define debug_package %{nil}
# Make electron_license macro properly work
%bcond bundled_electron 1
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude ^lib.*\\.so.*$
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
%ifarch x86_64
%define arch %{nil}
@@ -14,34 +11,21 @@
%define arch arm64-
%endif
Name: signal-desktop
Version: 7.80.1
Release: 1%?dist
Name: signal-desktop
Version: 7.71.0
Release: 1%?dist
Summary: A private messenger for Windows, macOS, and Linux
URL: https://signal.org
Source0: https://github.com/signalapp/Signal-Desktop/archive/refs/tags/v%{version}.tar.gz
# signal.desktop from https://github.com/signalflatpak/signal/blob/master/org.signal.Signal.desktop
Source1: signal.desktop
License: AGPL-3.0 AND %{electron_license}
License: AGPL-3.0 AND %electron_licenses
ExclusiveArch: x86_64 aarch64
BuildRequires: pulseaudio-libs-devel
BuildRequires: libX11-devel
BuildRequires: git-lfs
BuildRequires: git-core
BuildRequires: anda-srpm-macros
BuildRequires: pnpm
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git-core
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
BuildRequires: pulseaudio-libs-devel libX11-devel pnpm make gcc g++ python3
BuildRequires: git-lfs
Requires: gtk3
Requires: libwayland-cursor
Requires: libwayland-client
Requires: libwayland-client
Requires: libxkbcommon
Requires: gdk-pixbuf2
Requires: libthai
@@ -64,33 +48,17 @@ Requires: mesa-libgbm
Requires: at-spi2-atk
Requires: expat
Requires: alsa-lib
Requires: xdg-utils
Requires: re2
Requires: (libXtst or libXtst6)
Requires: libXScrnSaver
Requires: libnotify
Requires: (libuuid or libuuid1)
Requires: at-spi2-core
Requires: c-ares
Requires: gtk3
Requires: minizip
Provides: signal
Provides: Signal
Provides: Signal-Desktop
%description
Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers.
%prep
%autosetup -n Signal-Desktop-%{version}
%autosetup -n Signal-Desktop-%{version} -p1
%build
pnpm install --frozen-lockfile
pushd sticker-creator
pnpm install --frozen-lockfile
pnpm build
popd
pnpm --prefix sticker-creator install
pnpm --prefix sticker-creator build
pnpm run build-linux --dir
%install
@@ -127,8 +95,8 @@ install -Dm644 build/icons/png/512x512.png %{buildroot}%{_iconsdir}/hicolor/512x
install -Dm644 build/icons/png/64x64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/signal.png
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/applications/signal.desktop
mkdir -p %{buildroot}%{_bindir}
ln -s %{_libdir}/signal-desktop/signal-desktop %{buildroot}%{_bindir}/signal-desktop
mkdir -p %buildroot%_bindir
ln -s %_libdir/signal-desktop/signal-desktop %buildroot%_bindir/signal-desktop
%files
%license LICENSE
@@ -151,7 +119,5 @@ ln -s %{_libdir}/signal-desktop/signal-desktop %{buildroot}%{_bindir}/signal-des
%{_iconsdir}/hicolor/64x64/apps/signal.png
%changelog
* Tue Nov 11 2025 Owen Zimmerman <owen@fyralabs.com>
- Add more Requires:, fix electron_license macro application, fix some formatting
* Fri Aug 8 2025 june-fish <git@june.fish>
- Initial Package
+1 -1
View File
@@ -2,7 +2,7 @@
%global realname subtitleedit
Name: %realname.bin
Version: 4.0.14
Version: 4.0.13
Release: 1%?dist
Summary: An advanced subtitle editor and converter
License: GPL-3.0-only
@@ -1 +1 @@
v1.12.12
v1.11.15
+2 -5
View File
@@ -1,8 +1,8 @@
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
Name: throne
Version: 1.0.11
Release: 1%?dist
Version: 1.0.5
Release: 3%?dist
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
URL: https://github.com/throneproj/Throne
License: GPLv3
@@ -17,7 +17,6 @@ Source2: Sagernet.SingBox.Version.txt
Source3: %{name}.desktop
Source4: %{name}.sh
Source5: https://raw.githubusercontent.com/throneproj/routeprofiles/rule-set/srslist.h
BuildRequires: rpm_macro(cmake)
BuildRequires: rpm_macro(cmake_build)
@@ -66,8 +65,6 @@ cd gen
protoc -I . --go_out=. --protorpc_out=. libcore.proto
%build
mkdir -p %__cmake_builddir
cp %{S:5} %__cmake_builddir/
%cmake
%cmake_build
DEST=$PWD/%{__cmake_builddir}/%{core}
+2 -1
View File
@@ -1,2 +1,3 @@
rpm.version(gh("throneproj/Throne"));
rpm.version(find(`([\d.]+)-\d+-\d+-\d+`, gh_rawfile("throneproj/Throne", "dev", "throne_version.txt"), 1));
open_file("anda/apps/throne/Sagernet.SingBox.Version.txt", "w").write(gh("sagernet/sing-box"));
-1
View File
@@ -1 +0,0 @@
*.deb
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64", "aarch64"]
rpm {
spec = "tracktion-waveform.spec"
}
}
@@ -1,51 +0,0 @@
%undefine __brp_mangle_shebangs
%define debug_package %nil
%global __strip /bin/true
Name: tracktion-waveform
Version: 13.5.13
Packager: Cappy Ishihara <cappy@fyralabs.com>
Release: 1%{?dist}
Summary: Tracktion Waveform DAW
ExclusiveArch: x86_64 aarch64
%global majver %(echo %{version} | cut -d '.' -f 1)
%global truncated_ver %(echo %{version} | tr -d .)
%ifarch x86_64
%global pkgarch amd64
%endif
%ifarch aarch64
%global pkgarch arm64
%endif
License: Proprietary
URL: https://www.tracktion.com/products/waveform-free
Source0: https://downloads.tracktion.com/w%{majver}/%{truncated_ver}b/waveform%{majver}_%{version}_%{pkgarch}.deb
BuildRequires: tar
BuildRequires: binutils
%description
%{summary}
%prep
%autosetup -Tc
ar x %{SOURCE0}
%install
tar xvf data.tar.gz -C %{buildroot}
export QA_RPATHS="[0-7]"
%files
%{_bindir}/Waveform%{majver}
%{_datadir}/pixmaps/*
%{_datadir}/mime/packages/waveform13.xml
%{_datadir}/applications/waveform13.desktop
%{_docdir}/Waveform%{majver}/*
%changelog
* Tue Oct 07 2025 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Release
+9 -9
View File
@@ -7,8 +7,8 @@
Name: vesktop
Obsoletes: VencordDesktop < 1.5.8-1
Obsoletes: vencord-desktop < 1.5.8-1
Version: 1.6.1
Release: 1%?dist
Version: 1.5.8
Release: 2%?dist
License: GPL-3.0
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
URL: https://github.com/Vencord/Vesktop
@@ -58,17 +58,17 @@ cp -r dist/*-unpacked/. %buildroot/usr/share/vesktop/.
install -Dm755 dist/*-unpacked/vesktop %buildroot/usr/bin/vesktop
ln -sf /usr/share/vesktop/vesktop %buildroot/usr/bin/vesktop
ln -sf /usr/bin/vesktop %buildroot/usr/bin/vencorddesktop
install -Dm644 vesktop.desktop %{buildroot}%{_datadir}/applications/vesktop.desktop
install -Dm644 build/icon.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/vesktop.svg
install -Dm644 vesktop.desktop %buildroot/usr/share/applications/vesktop.desktop
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/vesktop.png
%files
%doc README.md
%license LICENSE
%{_bindir}/vesktop
%{_bindir}/vencorddesktop
%{_datadir}/applications/vesktop.desktop
%{_iconsdir}/hicolor/scalable/apps/vesktop.svg
%{_datadir}/vesktop/*
/usr/bin/vesktop
/usr/bin/vencorddesktop
/usr/share/applications/vesktop.desktop
/usr/share/pixmaps/vesktop.png
/usr/share/vesktop/*
%changelog
* Thu Jul 24 2025 Atmois <info@atmois.com> - 1.5.8-2
+1 -1
View File
@@ -13,7 +13,7 @@
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
Name: voicevox
Version: 0.25.0
Version: 0.24.2
Release: 1%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
+1 -1
View File
@@ -1,5 +1,5 @@
Name: vpkedit
Version: 5.0.0.3
Version: 5.0.0.1
Release: 1%?dist
Summary: A CLI/GUI tool to create, read, and write several pack file formats
License: MIT
+2 -2
View File
@@ -1,9 +1,9 @@
# Fedora sometimes sources the snapshots under stable versions and just bumps release
# For user clarity I have separated these into different packages
%global commit 533f41704766765cfb3706fb2aa197acbb05df32
%global commit 13bf50cbf84e00a7d5a0f13e1beefad306d58622
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver 20250102
%global commit_date 20251105
%global commit_date 20250916
Name: winetricks-git
Version: %{ver}^%{commit_date}git.%{shortcommit}
@@ -1,5 +1,5 @@
Name: budgie-extras
Version: 2.0.0
Version: 1.9.0
Release: 1%?dist
License: GPL-3.0
+1 -1
View File
@@ -1,4 +1,4 @@
%define _ubuntu_rel 25.10.20250930-0ubuntu1
%define _ubuntu_rel 22.10.20220822-0ubuntu16
%global _hardened_build 0
Name: compiz9
@@ -2,8 +2,8 @@
%global uuid %{extension}@fthx
Name: gnome-shell-extension-%{extension}
Version: 12
Release: 2%?dist
Version: 2
Release: 1%{?dist}
Summary: GNOME Shell extension to bring back the app menu
License: GPL-3.0-only
URL: https://github.com/fthx/appmenu-is-back
@@ -11,8 +11,9 @@ URL: https://github.com/fthx/appmenu-is-back
BuildArch: noarch
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
Patch0: https://github.com/fthx/appmenu-is-back/compare/v2..703a31acf900eb7bcab3462baeefa815ec7f13ab.patch
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Requires: (gnome-shell >= 47~ with gnome-shell < 49~)
Recommends: gnome-extensions-app
%description
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "gnome-shell-extension-gpu-supergfxctl-switch.spec"
}
}
@@ -1,39 +0,0 @@
%global commit 1de26db2ea4166fdca85306300b12bdc24f2c955
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250925
%global ver 11
%global extension gpu-switcher-supergfxctl
%global uuid %{extension}@chikobara.github.io
Name: gnome-shell-extension-%{extension}
Version: %ver^%commit_date.%shortcommit
Release: 1%?dist
Summary: GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
License: GPL-3.0-only
URL: https://github.com/chikobara/GPU-Switcher-Supergfxctl
Source0: %url/archive/%commit.tar.gz
Requires: (gnome-shell >= 48~ with gnome-shell < 50~) asusctl supergfxctl
Recommends: gnome-extensions-app
BuildArch: noarch
%description
GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
%prep
%autosetup -n GPU-Switcher-Supergfxctl-%{commit} -p1
%install
install -Dm644 metadata.json %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/metadata.json
install -Dm644 extension.js %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/extension.js
%files
%license LICENSE
%doc README.md
%{_datadir}/gnome-shell/extensions/%{uuid}
%changelog
* Mon Oct 27 2025 june-fish <june@fyralabs.com> - 11
- Initial Package
@@ -1,9 +0,0 @@
if filters.contains("nightly") {
rpm.global("commit", gh_commit("chikobara/GPU-Switcher-Supergfxctl"));
if rpm.changed() {
let v = find("\"version\": ([.\\d]+)\n", gh_rawfile("chikobara/GPU-Switcher-Supergfxctl", "main", "metadata.json"), 1);
rpm.global("ver", v);
rpm.global("commit_date", date());
rpm.release();
}
}
@@ -1,6 +1,6 @@
%global tarball_version %%(echo %{version} | tr '~' '.')
%global major_version 49
%global minor_version 2
%global minor_version 0
%if 0%{?rhel}
%global portal_helper 0
@@ -10,7 +10,7 @@
Name: gnome-shell
Version: %{major_version}.%{minor_version}
Release: 2%{?dist}.switcheroo
Release: 1%{?dist}.switcheroo
Summary: Window management and application launching for GNOME
Provides: gnome-shell.switcheroo = %version-%release
@@ -214,6 +214,7 @@ mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
%find_lang gnome-shell
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
%if %{portal_helper}
@@ -229,6 +230,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
%{_bindir}/gnome-shell-test-tool
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
%{_datadir}/applications/org.gnome.Shell.desktop
%{_datadir}/bash-completion/completions/gnome-extensions
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-screenshots.xml
@@ -240,7 +242,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Brightness.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
@@ -256,6 +257,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
%{_userunitdir}/org.gnome.Shell.target
%{_userunitdir}/org.gnome.Shell@wayland.service
%{_userunitdir}/org.gnome.Shell@x11.service
%{_libdir}/gnome-shell/
%{_libexecdir}/gnome-shell-calendar-server
%{_libexecdir}/gnome-shell-perf-helper
@@ -1,8 +1,8 @@
%global pypi_name nautilus_open_any_terminal
Name: nautilus-open-any-terminal
Version: 0.7.0
Release: 2%?dist
Version: 0.6.3
Release: 1%?dist
Summary: Context-menu entry for opening other terminal in Nautilus
License: GPL-3.0-only
URL: https://github.com/Stunkymonkey/nautilus-open-any-terminal
@@ -18,7 +18,6 @@ BuildRequires: python3dist(pip)
BuildRequires: gettext
Requires: python3-%{name} = %{version}-%{release}
Requires: %{name}-caja = %{version}-%{release}
Requires: nautilus-python
Obsoletes: python3-%{name} < 0.6.1-2
@@ -1,16 +0,0 @@
import "andax/bump_extras.rhai" as bump;
import "andax/spec.rhai" as spec;
rpm.global("commit", gh_commit("hyprwm/hyprgraphics"));
if rpm.changed() {
rpm.global("ver", gh_rawfile("hyprwm/hyprgraphics", "main", "VERSION"));
rpm.global("commit_date", date());
}
// FIXME: should be updbranch but we also need nightly and we are using gh_commit()?
let dir = sub(`/[^/]+$`, "", __script_path);
open_file(`${dir}/VER_hyprlang.txt`, "w").write(bump::madoguchi("hyprlang.nightly", labels.branch));
if sh("[[ `git status " + dir + " --porcelain` ]] && exit 1 || exit 0", #{}).ctx.rc == 1 {
let rel = spec::get_release(rpm).parse_int();
rpm.release(rel + 1);
}
@@ -1 +0,0 @@
0.10.0^20251005git.3df7bde
@@ -1,16 +0,0 @@
import "andax/bump_extras.rhai" as bump;
import "andax/spec.rhai" as spec;
// FIXME: should be updbranch but we also need nightly and we are using gh_commit()?
let dir = sub(`/[^/]+$`, "", __script_path);
open_file(`${dir}/VER_hyprutil.txt`, "w").write(bump::madoguchi("hyprutils.nightly", labels.branch));
if sh("[[ `git status " + dir + " --porcelain` ]] && exit 1 || exit 0", #{}).ctx.rc == 1 {
let rel = spec::get_release(rpm).parse_int();
rpm.release(rel + 1);
}
rpm.global("commit", gh_commit("hyprwm/hyprlang"));
if rpm.changed() {
rpm.global("ver", gh_rawfile("hyprwm/hyprlang", "main", "VERSION"));
rpm.global("commit_date", date());
}
@@ -1,14 +0,0 @@
import "andax/bump_extras.rhai" as bump;
import "andax/spec.rhai" as spec;
let v = gh_rawfile("hyprwm/hyprlock", "main", "VERSION");
v.trim();
rpm.version(v);
// FIXME: should be updbranch but we also need nightly and we are using gh_commit()?
let dir = sub(`/[^/]+$`, "", __script_path);
open_file(`${dir}/VER_hyprgraphics.txt`, "w").write(bump::madoguchi("hyprgraphics.nightly", labels.branch));
if sh("[[ `git status " + dir + " --porcelain` ]] && exit 1 || exit 0", #{}).ctx.rc == 1 {
let rel = spec::get_release(rpm).parse_int();
rpm.release(rel + 1);
}
+2 -2
View File
@@ -1,8 +1,8 @@
%global framework kio
%global stable_kf6 stable
%global majmin_ver_kf6 6.20
%global ecm_ver 6.20.0
%global majmin_ver_kf6 6.18
%global ecm_ver 6.18.0
%global ecm_rel 1
Name: kf6-%{framework}
@@ -1,7 +1,7 @@
%global commit 7f92a0f5aab4936f24f5a47a717a7444af1d3f42
%global commit 31d29530ad834c1bfb70ed43f9395a549fbace56
Name: lightdm-kde-greeter
Version: 6.0.5
Version: 6.0.3
Release: 1%?dist
Summary: Login screen using the LightDM framework
License: GPL-3.0-or-later
@@ -3,7 +3,7 @@
%forgemeta
Name: lomiri-api
Version: 0.2.3
Version: 0.2.2
Release: 1%?dist
Summary: API for Lomiri
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager
%global commit 4ceb67059014b9b7e0e15f860297fe60b95903a2
%global commit 7f4c49f125209235b9a808a6e72d1fdfdd2b01ca
%forgemeta
Name: lomiri-download-manager
Version: 0.2.2
Version: 0.2.1
Release: 1%?dist
Summary: Upload Download Manager for Lomiri
License: LGPLv3
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-schemas
%global commit c5d57303dfb0f9641c9c0ce572905b3eedb99bd9
%global commit 139e6090d18040270e942429cf08f6b48a67b0cc
%forgemeta
Name: lomiri-schemas
Version: 0.1.9
Version: 0.1.8
Release: 1%?dist
Summary: Configuration schemas for lomiri
License: LGPL-2.0-or-later
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-settings-components
%global commit 91a0a1f94b90d8e3371ab47b769bcd058ac57a74
%global commit 8be505f0a54e9803adcaa20fefe334b3c3b7d4e7
%forgemeta
Name: lomiri-settings-components
Version: 1.1.3
Version: 1.1.2
Release: 1%?dist
Summary: The system settings components for Lomiri
License: GPLv3 AND LGPLv3
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 54e10292fdecc42d2f5b296209d5b67f8ae90423
%global commit 5f60a5419e04653e5ded4a10a704eec2d7373985
%forgemeta
Name: lomiri-system-settings
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "mangowc.spec"
}
}
-52
View File
@@ -1,52 +0,0 @@
Name: mangowc
Version: 0.10.6
Release: 1%?dist
Summary: wayland compositor base wlroots and scenefx (dwm but wayland)
License: GPL-3.0
Packager: metcya <metcya@gmail.com>
URL: https://github.com/DreamMaoMao/mangowc
Source: %{url}/archive/%{version}.tar.gz
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wlroots-0.19)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(scenefx-0.4)
%description
MangoWC is a lightweight, high-performance Wayland compositor built on dwl, designed for speed, flexibility, and a modern, customizable desktop experience.
%prep
%autosetup
%build
%meson
%meson_build
%install
%meson_install
%files
%doc README.md
%license LICENSE
%license LICENSE.wlroots
%license LICENSE.tinywl
%license LICENSE.sway
%license LICENSE.dwm
%license LICENSE.dwl
%{_bindir}/mango
%{_bindir}/mmsg
%{_sysconfdir}/mango/config.conf
%{_datadir}/wayland-sessions/mango.desktop
%changelog
* Wed Nov 12 2025 metcya <metcya@gmail.com>
- Package mangowc
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("DreamMaoMao/mangowc"));
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "swayosd.spec"
}
labels {
mock = 1
}
}
-85
View File
@@ -1,85 +0,0 @@
Name: SwayOSD
Version: 0.2.1
Release: 2%?dist
Summary: A GTK based on screen display for keyboard shortcuts like caps-lock and volume
License: GPL-3.0-only
URL: https://github.com/ErikReider/SwayOSD
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: gtk3-devel
BuildRequires: gcc
BuildRequires: systemd-rpm-macros
BuildRequires: rust
BuildRequires: cargo
BuildRequires: sassc
BuildRequires: libevdev-devel
BuildRequires: gtk4-devel
BuildRequires: gtk4-layer-shell-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: libinput-devel
BuildRequires: louvre
Requires: cairo
Requires: gtk4
Requires: cairo
Requires: dbus
Requires: gdk-pixbuf2
Requires: glib2
Requires: glibc
Requires: gtk4-layer-shell
Requires: libevdev
Requires: libinput
Requires: pulseaudio-libs
Requires: pango
Requires: systemd-libs
Provides: swayosd
%description
%{summary}.
%prep
%autosetup -n SwayOSD-%{version}
%build
%meson
%meson_build
%install
%meson_install
%post
%systemd_post swayosd-libinput-backend.service
%systemd_post org.erikreider.swayosd.service
%preun
%systemd_preun swayosd-libinput-backend.service
%systemd_preun org.erikreider.swayosd.service
%postun
%systemd_postun_with_restart swayosd-libinput-backend.service
%systemd_postun_with_restart org.erikreider.swayosd.service
%files
%doc README.md
%license LICENSE
%{_bindir}/swayosd-client
%{_bindir}/swayosd-server
%{_bindir}/swayosd-libinput-backend
%config(noreplace) %{_sysconfdir}/xdg/swayosd/backend.toml
%config(noreplace) %{_sysconfdir}/xdg/swayosd/config.toml
%config(noreplace) %{_sysconfdir}/xdg/swayosd/style.css
%{_usr}/lib64/systemd/system/swayosd-libinput-backend.service
%{_usr}/lib64/udev/rules.d/99-swayosd.rules
%{_datadir}/dbus-1/system-services/org.erikreider.swayosd.service
%{_datadir}/dbus-1/system.d/org.erikreider.swayosd.conf
%{_datadir}/polkit-1/actions/org.erikreider.swayosd.policy
%{_datadir}/polkit-1/rules.d/org.erikreider.swayosd.rules
%changelog
* Thu Nov 13 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("ErikReider/SwayOSD"));

Some files were not shown because too many files have changed in this diff Show More