Compare commits

..

2 Commits

Author SHA1 Message Date
Owen Zimmerman 925a0710ac Merge branch 'frawhide' into owen/frawhide/tailscale-status 2025-11-01 15:54:50 -05:00
Owen Zimmerman cdf1c6a9de Package gnome-shell-extension-tailscale-status 2025-01-14 21:44:56 -06:00
529 changed files with 5073 additions and 8970 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
}
}
-9
View File
@@ -42,15 +42,6 @@ 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/).
@@ -1,5 +1,5 @@
Name: bitwarden-cli.bin
Version: 2025.11.0
Version: 2025.10.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: 3.0.1
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.796
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.796
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.113
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.164
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.164
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.113
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
+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.21.2
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
+2 -2
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 commit 88c951e771fd57bccf6d8f1539a03df47316368d
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20251130
%global commit_date 20251029
%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.11.0
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.11
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.90.0
Name: komikku
Version: 1.95.0
Version: 1.90.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
@@ -1,5 +1,5 @@
%global commit 94128d8fbcac0a14af4c529b29e0d91b0b997796
%global commit_date 20251114
%global commit 71a73d9ac15b3c50c80f1a4cffd657f304da79a8
%global commit_date 20251015
%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
+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 d3ec15bca87536341f121a4f0f97954d00a6cfe5
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20251129
%global commit_date 20251101
%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 @@
%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
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit a822eb767a330711e67714428c1c56cf3c82f044
%global commit_date 20251118
%global commit a445d545c8e1a3339acd53cadf4e9c08698a786d
%global commit_date 20251028
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rasputin
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit a822eb767a330711e67714428c1c56cf3c82f044
%global commit_date 20251118
%global commit a445d545c8e1a3339acd53cadf4e9c08698a786d
%global commit_date 20251024
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: appset
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit d09cc3fdb2071552f18b4564e1c77cb288b580db
%global commit_date 20251104
%global commit 316b2a9787e19352eb22cf8de163d6856a1ea26f
%global commit_date 20251101
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rp-bookshelf
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 9527e92f697ad380ce8669a2b6c61260abafab19
%global commit_date 20251126
%global commit 6ae576bee3ca42f0aea597e76d2e0df0e1184bad
%global commit_date 20251030
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rpcc
-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());
}
+1 -1
View File
@@ -1,4 +1,4 @@
%global ver 2025-11-30
%global ver 2025-11-01
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
+7 -92
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
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
+12 -42
View File
@@ -1,9 +1,6 @@
#? 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.*$
@@ -14,34 +11,21 @@
%define arch arm64-
%endif
Name: signal-desktop
Version: 7.80.1
Release: 1%?dist
Name: signal-desktop
Version: 7.77.1
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,16 +48,6 @@ 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
@@ -83,14 +57,12 @@ Provides: Signal-Desktop
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 +99,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 +123,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
@@ -1,7 +1,7 @@
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
Name: throne
Version: 1.0.11
Version: 1.0.8
Release: 1%?dist
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
URL: https://github.com/throneproj/Throne
+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 a5a76f24a5d03697cab0c3192843a4379d6f8ff6
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver 20250102
%global commit_date 20251105
%global commit_date 20251025
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,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();
}
}
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "gnome-shell-extension-tailscale-status.spec"
}
}
@@ -0,0 +1,95 @@
# At this point in time, this package DOES NOT WORK on the main branch due to not being optimized for modern gnome/gnome-shell versions.
# It also does not work on the 'post-gnome45' branch due to an outdated version in the extension's metadata file, which does not update properly once installed through a package.
# This means the best way to get the updated files is from the gnome extensions website's zip archives, but if the GitHub repo gets properly updated, we can switch over to a commit-based package
# We also need to move files to the ~/.local directory instead of the typical gnome extension directory due to this being a User Extension, NOT a System Extension.
%global commit cecb04e68df0d611dc41d1030542bb40c9862d6f
%global commit_date 20240923
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global extension tailscale-status
%global uuid %{extension}@maxgallup.github.com
Name: gnome-shell-extension-%{extension}
Version: %commit
Release: 1%{?dist}
Summary: Extension to manage and check the status of tailscale-cli
License: GPLv2
URL: https://github.com/maxgallup/tailscale-status
Source0: https://extensions.gnome.org/review/download/58475.shell-extension.zip
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildArch: noarch
BuildRequires: wget unzip
Requires: gnome-shell
Recommends: gnome-extensions-app
Suggests: tailscale
%description
An unofficial Gnome Extension to manage and check the status of tailscale-cli.
This extension is in no way affiliated with Tailscale Inc.
%prep
wget https://extensions.gnome.org/review/download/58475.shell-extension.zip
unzip 58475.shell-extension.zip
%install
mkdir -p %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}
mkdir -p %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/schemas
install -Dm644 metadata.json %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/metadata.json
install -Dm644 extension.js %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/extension.js
install -Dm644 prefs.js %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/prefs.js
install -Dm644 icon-down.svg %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/icon-down.svg
install -Dm644 icon-exit-node.svg %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/icon-exit-node.svg
install -Dm644 icon-up.svg %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/icon-up.svg
install -Dm644 schemas/* %{buildroot}%{_localstatedir}/lib/rpm-state/%{uuid}/schemas/
%files
%dir %{_localstatedir}/lib/rpm-state/%{uuid}
%dir %{_localstatedir}/lib/rpm-state/%{uuid}/schemas
%{_localstatedir}/lib/rpm-state/%{uuid}/metadata.json
%{_localstatedir}/lib/rpm-state/%{uuid}/extension.js
%{_localstatedir}/lib/rpm-state/%{uuid}/prefs.js
%{_localstatedir}/lib/rpm-state/%{uuid}/icon-down.svg
%{_localstatedir}/lib/rpm-state/%{uuid}/icon-exit-node.svg
%{_localstatedir}/lib/rpm-state/%{uuid}/icon-up.svg
%{_localstatedir}/lib/rpm-state/%{uuid}/schemas/*
%post
#Since this is a User Extension, we muct only install for the current user
current_user=$(logname)
echo "Running post-transaction scripts as user ${current_user}..."
# Create the User Extensions directories in the user's home directory
mkdir -p /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}
mkdir -p /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/schemas
# Move the files to the user's User Extensions directory
mv %{_localstatedir}/lib/rpm-state/%{uuid}/metadata.json /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/metadata.json
mv %{_localstatedir}/lib/rpm-state/%{uuid}/extension.js /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/extension.js
mv %{_localstatedir}/lib/rpm-state/%{uuid}/prefs.js /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/prefs.js
mv %{_localstatedir}/lib/rpm-state/%{uuid}/icon-down.svg /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/icon-down.svg
mv %{_localstatedir}/lib/rpm-state/%{uuid}/icon-exit-node.svg /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/icon-exit-node.svg
mv %{_localstatedir}/lib/rpm-state/%{uuid}/icon-up.svg /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/icon-up.svg
mv %{_localstatedir}/lib/rpm-state/%{uuid}/schemas/* /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}/schemas/
echo "Extension files successfully installed for user ${current_user}"
%postun
# Remove the files from the user's User Extensions directory on package uninstallation
if [ $1 -eq 0 ]; then
current_user=$(logname)
echo "Running post-uninstall scripts as user ${current_user}..."
rm -rf /home/${current_user}/.local/share/gnome-shell/extensions/%{uuid}
echo "Extension files successfully removed for user ${current_user}"
fi
%changelog
* Tue Jan 14 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial Package
@@ -1,6 +1,6 @@
%global tarball_version %%(echo %{version} | tr '~' '.')
%global major_version 49
%global minor_version 2
%global minor_version 1
%if 0%{?rhel}
%global portal_helper 0
@@ -2,7 +2,7 @@
Name: nautilus-open-any-terminal
Version: 0.7.0
Release: 2%?dist
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.19.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
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 54e10292fdecc42d2f5b296209d5b67f8ae90423
%global commit 8456af25150806b76846d5dd86ff941248e612af
%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"));
@@ -1,9 +1,9 @@
#? https://src.fedoraproject.org/rpms/hyprgraphics/blob/rawhide/f/hyprgraphics.spec
%global realname hyprgraphics
%global ver 0.3.0
%global commit ffc999d980c7b3bca85d3ebd0a9fbadf984a8162
%global commit_date 20251107
%global ver 0.2.0
%global commit 50fb9f069219f338a11cf0bcccb9e58357d67757
%global commit_date 20251015
%global shortcommit %{sub %commit 1 7}
%bcond libjxl 1
@@ -0,0 +1,5 @@
rpm.global("commit", gh_commit("hyprwm/hyprgraphics"));
if rpm.changed() {
rpm.global("ver", gh_rawfile("hyprwm/hyprgraphics", "main", "VERSION"));
rpm.global("commit_date", date());
}
@@ -0,0 +1,5 @@
rpm.global("commit", gh_commit("hyprwm/hyprlang"));
if rpm.changed() {
rpm.global("ver", gh_rawfile("hyprwm/hyprlang", "main", "VERSION"));
rpm.global("commit_date", date());
}
@@ -0,0 +1,3 @@
let v = gh_rawfile("hyprwm/hyprlock", "main", "VERSION");
v.trim();
rpm.version(v);
@@ -1,10 +1,10 @@
#? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec
%global realname hyprutils
%global ver 0.10.4
%global ver 0.10.0
%global commit 7e6346f84be8918e3eca405546c45fb37d74bdfe
%global commit_date 20251130
%global commit 3df7bde01efb3a3e8e678d1155f2aa3f19e177ef
%global commit_date 20251005
%global shortcommit %{sub %commit 1 7}
Name: %realname.nightly
@@ -22,7 +22,6 @@ ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(pixman-1)
BuildRequires: cmake(GTest)
Provides: %realname = %evr
Conflicts: %realname
@@ -2,9 +2,9 @@
%global realname hyprwayland-scanner
%global ver 0.4.5
%global commit f6cf414ca0e16a4d30198fd670ec86df3c89f671
%global commit b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d
%global shortcommit %{sub %commit 1 7}
%global commit_date 20251121
%global commit_date 20250815
Name: %realname.nightly
Version: %ver^%{commit_date}git.%shortcommit
@@ -2,7 +2,7 @@
%global crate matugen
Name: rust-matugen
Version: 3.1.0
Version: 3.0.0
Release: 1%?dist
Summary: Material you color generation tool with templates
+1 -1
View File
@@ -4,7 +4,7 @@
# prevent library files from being installed
%global cargo_install_lib 0
%global upstream_version v2.11.3
%global upstream_version v2.8.2
%global ver %{sub %upstream_version 2}
Name: walker
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "waypaper.spec"
}
}

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