mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 925a0710ac | |||
| cdf1c6a9de |
@@ -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"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -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}`);
|
||||
}
|
||||
};
|
||||
@@ -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();
|
||||
};
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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-
|
||||
|
||||
@@ -13,9 +13,9 @@ jobs:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f43
|
||||
- f42
|
||||
- f41
|
||||
- f42
|
||||
- f43
|
||||
- el10
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Vendored
+1
-4
@@ -1,8 +1,5 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"rhaiscript.vscode-rhai",
|
||||
"1dot75cm.rpmspec",
|
||||
"hashicorp.hcl",
|
||||
"redhat.vscode-xml"
|
||||
"rhaiscript.vscode-rhai"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "chdig.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
Name: chdig
|
||||
Version: 25.12.1
|
||||
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 +0,0 @@
|
||||
rpm.version(gh("azat/chdig"));
|
||||
@@ -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.819
|
||||
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
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.819
|
||||
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.117
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord
|
||||
Version: 0.0.117
|
||||
Version: 0.0.113
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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>
|
||||
@@ -18,7 +18,6 @@ BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
|
||||
|
||||
%description
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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);
|
||||
@@ -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,9 +1,9 @@
|
||||
# Disable X11 for RHEL 10+
|
||||
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
%global commit 72dbcf119a9ed5082be2f226593194e20f611eea
|
||||
%global commit d3ec15bca87536341f121a4f0f97954d00a6cfe5
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20251201
|
||||
%global commit_date 20251101
|
||||
%global ver 0.40.0
|
||||
|
||||
Name: mpv-nightly
|
||||
@@ -188,6 +188,7 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
-Dsdl2-audio=enabled \
|
||||
-Dsdl2-gamepad=enabled \
|
||||
-Dsdl2-video=enabled \
|
||||
-Dsdl2=enabled \
|
||||
-Dshaderc=disabled \
|
||||
-Dsndio=disabled \
|
||||
-Dspirv-cross=disabled \
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rpinters.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("raspberrypi-ui/rpinters"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2025-12-03
|
||||
%global ver 2025-11-01
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
-39
@@ -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"
|
||||
}
|
||||
}
|
||||
+95
@@ -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);
|
||||
}
|
||||
@@ -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 4652fb4fb04569bea5102e9e52c23ca66a131435
|
||||
%global commit 8456af25150806b76846d5dd86ff941248e612af
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
|
||||
%global commit 4789df7ca73f4d945279d6c28dab8c5efbac4b18
|
||||
%global commit 4111d119b21d58754f8b4bcaa7665cab7263be00
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-ui-toolkit
|
||||
Version: 1.3.5900
|
||||
Release: 1%?dist
|
||||
Version: 1.3.5110
|
||||
Release: 2%?dist
|
||||
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
|
||||
|
||||
License: LGPL-3.0
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "mangowc.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
Name: mangowc
|
||||
Version: 0.10.7
|
||||
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 +0,0 @@
|
||||
rpm.version(gh("DreamMaoMao/mangowc"));
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "swayosd.spec"
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
@@ -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 +0,0 @@
|
||||
rpm.version(gh("ErikReider/SwayOSD"));
|
||||
+3
-3
@@ -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);
|
||||
+3
-4
@@ -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 2f2413801beee37303913fc3c964bbe92252a963
|
||||
%global commit_date 20251202
|
||||
%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
-2
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user