mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ad85da2080 |
+1
-1
@@ -2,7 +2,7 @@
|
||||
"repoOwner": "terrapkg",
|
||||
"repoName": "packages",
|
||||
"resetAuthor": true,
|
||||
"targetBranchChoices": ["el10", "f41", "f42", "f43", "frawhide"],
|
||||
"targetBranchChoices": ["el10", "f41", "f42", "frawhide"],
|
||||
"branchLabelMapping": {
|
||||
"^sync-(.+)$": "$1"
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
@@ -20,7 +20,7 @@ on:
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
outputs:
|
||||
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
|
||||
container:
|
||||
@@ -38,71 +38,77 @@ jobs:
|
||||
run: anda ci >> $GITHUB_OUTPUT
|
||||
build:
|
||||
needs: manifest
|
||||
uses: ./.github/workflows/json-build.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
packages: ${{ needs.manifest.outputs.build_matrix }}
|
||||
publish: ${{ github.event_name == 'push' }}
|
||||
|
||||
appstream:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
|
||||
version: ["rawhide"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/appstream-generator:main
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v5
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
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
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Report Summary
|
||||
id: report_summary
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
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::"
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
|
||||
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
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -D "vendor Terra" -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
run: |
|
||||
NAME=${{ matrix.pkg.pkg }}-${{ matrix.pkg.arch }}-${{ matrix.version }}
|
||||
x=${NAME//\//@}
|
||||
echo "name=$x" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.art.outputs.name }}
|
||||
compression-level: 0 # The RPMs are already compressed :p
|
||||
path: |
|
||||
anda-build/rpm/rpms/*
|
||||
anda-build/rpm/srpm/*
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
if: github.event_name == 'push'
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
if: github.event_name == 'push' && matrix.pkg.labels['no_upload_srpms'] != '1'
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success() && github.event_name == 'push'
|
||||
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: ( cancelled() || failure() ) && github.event_name == 'push'
|
||||
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
|
||||
+79
-37
@@ -12,53 +12,95 @@ on:
|
||||
required: false
|
||||
default: ""
|
||||
architecture:
|
||||
description: "Architectures"
|
||||
description: "Architecture"
|
||||
required: false
|
||||
default: ""
|
||||
default: all
|
||||
type: string
|
||||
|
||||
run-name: ${{ inputs.packages }}
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
parse:
|
||||
outputs:
|
||||
build_matrix: ${{ steps.parsing.outputs.build_matrix }}
|
||||
runs-on: ubuntu-24.04-arm
|
||||
pkgs: ${{ steps.parsing.outputs.pkgs }}
|
||||
builder: ${{ inputs.custom_builder }}
|
||||
arch: ${{ steps.parsing.outputs.arch }}
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Parse Input
|
||||
id: parsing
|
||||
run: |
|
||||
echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
|
||||
echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
|
||||
arch="${{ inputs.architecture }}"
|
||||
# Convert to json array using jq
|
||||
# if arch is not all, convert to array
|
||||
if [ "$arch" != "all" ]; then
|
||||
# jq, array with single element as string
|
||||
arch=$(echo $arch | sed 's/,/\n/g')
|
||||
echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
build:
|
||||
needs: parse
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
|
||||
version: ["rawhide"]
|
||||
arch: ${{ fromJson(needs.parse.outputs.arch) }}
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-22.04' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Git
|
||||
run: |
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
git config user.name "Raboneko"
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
- name: Parse Input
|
||||
id: parsing
|
||||
run: |
|
||||
for pkg in ${{ inputs.packages }}; do
|
||||
touch anda/$pkg/.build
|
||||
done
|
||||
git add --all
|
||||
git commit -a -m "tmp"
|
||||
b=$(anda ci | sed -E 's@^build_matrix=@@')
|
||||
if [ "${{ inputs.architecture }}" != "" ]; then
|
||||
# e.g.: [ unique_by(.pkg)[] | (.arch="x86_64", .arch="aarch64") ]
|
||||
filter=`echo -n "${{ inputs.architecture }}" | tr '[:space:]' '\n' | sed -E '/^$/d; s@^.+$@.arch="\0"@' | tr '\n' ', '`
|
||||
b=`echo $b | jq -c '[unique_by(.pkg)[] | ('"$filter"')]'`
|
||||
elif [ "${{ inputs.custom_builder }}" != "" ]; then
|
||||
b=`echo $b | jq -c 'unique_by(.pkg)'`
|
||||
fi
|
||||
echo "build_matrix=$b" >> $GITHUB_OUTPUT
|
||||
|
||||
build:
|
||||
needs: manifest
|
||||
uses: ./.github/workflows/json-build.yml
|
||||
secrets: inherit
|
||||
with:
|
||||
packages: ${{ needs.manifest.outputs.build_matrix }}
|
||||
custom_builder: ${{ inputs.custom_builder }}
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build -D "vendor Terra" -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/${{ matrix.pkg }}pkg
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
run: |
|
||||
NAME=${{ matrix.pkg }}-${{ matrix.arch }}-${{ matrix.version }}
|
||||
x=${NAME//\//@}
|
||||
echo "name=$x" >> $GITHUB_OUTPUT
|
||||
echo "labels=$(anda run andax/get_proj_label.rhai -l project=anda/${{ matrix.pkg }}anda.hcl)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ steps.art.outputs.name }}
|
||||
compression-level: 0 # The RPMs are already compressed :p
|
||||
path: |
|
||||
anda-build/rpm/rpms/*
|
||||
anda-build/rpm/srpm/*
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
run: |
|
||||
subrepo="${{ fromJson(steps.art.outputs.labels).subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['subrepo'] && '-$subrepo' }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
if: fromJson(steps.art.outputs.labels)['no_upload_srpms'] != '1'
|
||||
run: |
|
||||
subrepo="${{ fromJson(steps.art.outputs.labels).subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['subrepo'] && '-$subrepo' }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success()
|
||||
run: ./.github/workflows/mg.sh true "anda/${{matrix.pkg}}pkg" "${{matrix.version}}" "${{matrix.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: cancelled() || failure()
|
||||
run: ./.github/workflows/mg.sh false "anda/${{matrix.pkg}}pkg" "${{matrix.version}}" "${{matrix.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
|
||||
|
||||
@@ -2,44 +2,11 @@ name: JSON Build
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
packages:
|
||||
description: "Packages to Build"
|
||||
required: true
|
||||
type: string
|
||||
publish:
|
||||
description: "Whether the package should be published"
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
custom_builder:
|
||||
description: "Custom Builder"
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
bust_cache:
|
||||
description: "Whether to bust the cache"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
packages:
|
||||
description: "Packages to Build"
|
||||
required: true
|
||||
type: string
|
||||
publish:
|
||||
description: "Whether the package should be published"
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
env:
|
||||
RUSTC_WRAPPER: sccache
|
||||
# SCCACHE_NO_DAEMON: "1"
|
||||
# Disable incremental compilation so sccache works better
|
||||
CARGO_INCREMENTAL: "false"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -48,7 +15,7 @@ jobs:
|
||||
pkg: ${{ fromJson(inputs.packages) }}
|
||||
version: ["rawhide"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ inputs.custom_builder && inputs.custom_builder || (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && format('cirun-x86-64-lg--{0}', github.run_id) || 'ubuntu-22.04' }}
|
||||
runs-on: ${{ (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -75,19 +42,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' || '' }}
|
||||
|
||||
@@ -107,7 +61,6 @@ jobs:
|
||||
anda-build/rpm/srpm/*
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
if: inputs.publish
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
@@ -116,7 +69,7 @@ jobs:
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
if: inputs.publish && matrix.pkg.labels['no_upload_srpms'] != '1'
|
||||
if: matrix.pkg.labels['no_upload_srpms'] != '1'
|
||||
run: |
|
||||
subrepo="${{ matrix.pkg.labels.subrepo }}"
|
||||
subatomic-cli upload --prune \
|
||||
@@ -125,8 +78,8 @@ jobs:
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: inputs.publish && success()
|
||||
if: success()
|
||||
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"
|
||||
if: cancelled() || failure()
|
||||
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-
|
||||
|
||||
@@ -8,14 +8,13 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f43
|
||||
- f42
|
||||
- f41
|
||||
- f42
|
||||
- el10
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
|
||||
@@ -6,7 +6,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- frawhide
|
||||
- f43
|
||||
- f42
|
||||
- f41
|
||||
- el10
|
||||
@@ -16,7 +15,7 @@ on:
|
||||
|
||||
jobs:
|
||||
update-comps:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
steps:
|
||||
|
||||
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -48,9 +48,8 @@ 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 el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -48,9 +48,8 @@ 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 el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -48,9 +48,8 @@ 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 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
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,9 @@
|
||||
# Terra Sources
|
||||
|
||||
[](https://repology.org/repository/terra_40)
|
||||
[](https://repology.org/repository/terra_41)
|
||||
[](https://repology.org/repository/terra_rawhide)
|
||||
|
||||
Terra is a rolling-release Fedora repository for all the software you need.
|
||||
With Terra, you can install the latest packages knowing that quality and security are assured.
|
||||
|
||||
@@ -9,8 +13,6 @@ This monorepo contains the package manifests for all packages in Terra.
|
||||
|
||||
## Installation
|
||||
|
||||
The latest detailed instructions are available in our Devdocs: https://developer.fyralabs.com/terra/installing
|
||||
|
||||
### Fedora
|
||||
|
||||
```bash
|
||||
@@ -42,23 +44,10 @@ And Terra EL itself can be installed with:
|
||||
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terrael$releasever' terra-release
|
||||
```
|
||||
|
||||
## Contributions
|
||||
|
||||
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
|
||||
|
||||
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
|
||||
- [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
- [Policy](https://developer.fyralabs.com/terra/policy)
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
|
||||
|
||||
## pkgs.org
|
||||
|
||||
pkgs.org provides a list of the packages available in the main stream: https://fedora.pkgs.org/rawhide/terra/
|
||||
|
||||
## Questions?
|
||||
|
||||
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global xurl https://files.pythonhosted.org/packages/22/1c/37fe0377fd5fbfe27b17db20679d76aeb1cef7be3ddfb22e24c0bb62cf96/anki-25.9.2-cp39-abi3-manylinux_2_36_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/c1/49/484a786ea0e1b3659de9478f2546368c5970da60a1cd403cec1fa2f81d65/anki-25.9.2-cp39-abi3-manylinux_2_36_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/e5/d4/26016857a780290264866e1818b1a408106c379906fbd186a0aa26eb1054/aqt-25.9.2-py3-none-any.whl
|
||||
%global xurl https://files.pythonhosted.org/packages/bf/05/3f3e0e890408cd8bf590bb00029de1623d85a09f2bc40545f87f4fa5e0f8/anki-25.7.2-cp39-abi3-manylinux_2_36_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/ed/0a/6f07edb9b60c0aa5e5ea2546ffb2f9cf079dd6b7b5b90f0d31852978c3b9/anki-25.7.2-cp39-abi3-manylinux_2_36_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/83/0b/51bf1a1f623fe52a590050087dcdfdaeab72025a2dd02bb6e5d3627de4e2/aqt-25.7.2-py3-none-any.whl
|
||||
|
||||
Name: anki-bin
|
||||
Version: 25.9.2
|
||||
Version: 25.7.2
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning (Installed with wheel)
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki-qt5
|
||||
Version: 25.09.2
|
||||
Version: 25.07.2
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki
|
||||
Version: 25.09.2
|
||||
Version: 25.07.2
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global __requires_exclude ^lib-.*.so
|
||||
%global __provides_exclude ^lib-.*.so
|
||||
|
||||
%global ver Audacity-3.7.5
|
||||
%global ver Audacity-3.7.4
|
||||
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
|
||||
|
||||
Name: audacity-freeworld
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "bitwarden-cli.bin.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
Name: bitwarden-cli.bin
|
||||
Version: 2025.11.0
|
||||
Release: 1%?dist
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
URL: https://bitwarden.com
|
||||
Source0: https://github.com/bitwarden/clients/releases/download/cli-v%version/bw-oss-linux-%version.zip
|
||||
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Provides: bw
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
BuildRequires: unzip
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
unzip %{S:0}
|
||||
|
||||
%install
|
||||
install -Dpm755 bw -t %buildroot%_bindir
|
||||
|
||||
%files
|
||||
%_bindir/bw
|
||||
@@ -1,5 +0,0 @@
|
||||
let v = gh("bitwarden/clients");
|
||||
if v.starts_with("cli-v") {
|
||||
v.crop(5);
|
||||
rpm.version(v);
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "bitwarden-cli.spec"
|
||||
}
|
||||
labels {
|
||||
updbranch = 1
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
%define debug_package %nil
|
||||
%global __strip /bin/true
|
||||
|
||||
%ifarch aarch64
|
||||
%global armsuffix -arm64
|
||||
%endif
|
||||
|
||||
Name: bitwarden-cli
|
||||
Version: 2025.10.0
|
||||
Release: 1%?dist
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
URL: https://bitwarden.com
|
||||
Source0: https://github.com/bitwarden/clients/archive/refs/tags/cli-v%version.tar.gz
|
||||
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Provides: bw
|
||||
|
||||
BuildRequires: nodejs-npm
|
||||
BuildRequires: gcc-c++ gcc make
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n clients-cli-v%version
|
||||
npm i
|
||||
|
||||
%build
|
||||
pushd apps/cli
|
||||
npm i
|
||||
npm run dist:oss:lin%?armsuffix
|
||||
|
||||
%install
|
||||
install -Dm755 apps/cli/dist/oss/linux%?armsuffix/bw -t %buildroot%_bindir
|
||||
|
||||
%files
|
||||
%doc README.md SECURITY.md CONTRIBUTING.md
|
||||
%license LICENSE.txt LICENSE_GPL.txt LICENSE_BITWARDEN.txt
|
||||
%_bindir/bw
|
||||
@@ -1,3 +0,0 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("bitwarden-cli.bin", labels.branch));
|
||||
@@ -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: 2.2.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.717
|
||||
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.717
|
||||
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.102
|
||||
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.152
|
||||
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.152
|
||||
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.102
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
Name: dorion
|
||||
Version: 6.11.0
|
||||
Release: 1%?dist
|
||||
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
|
||||
SourceLicense: GPL-3.0-only
|
||||
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
|
||||
URL: https://spikehd.dev/projects/dorion
|
||||
Source0: https://github.com/SpikeHD/Dorion/archive/refs/tags/v%version.tar.gz
|
||||
Source1: https://raw.githubusercontent.com/uwu/shelter-builds/main/shelter.js
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
BuildRequires: pnpm rpm_macro(cargo_install) rust-packaging
|
||||
BuildRequires: cmake gcc-c++
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
|
||||
%description
|
||||
Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more!
|
||||
|
||||
%prep
|
||||
%autosetup -n Dorion-%version
|
||||
pnpm i
|
||||
|
||||
cat<<EOF > Dorion.desktop
|
||||
[Desktop Entry]
|
||||
Categories=Network;
|
||||
Exec=Dorion
|
||||
Icon=Dorion
|
||||
Name=Dorion
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=x-scheme-handler/discord
|
||||
EOF
|
||||
|
||||
cd src-tauri
|
||||
%cargo_prep_online
|
||||
cp %{S:1} injection/shelter.js
|
||||
|
||||
%build
|
||||
pnpm run build:js
|
||||
cd src-tauri
|
||||
cd extension_webkit
|
||||
%cmake
|
||||
%cmake_build
|
||||
cp %__cmake_builddir/libextension.so .
|
||||
cd ..
|
||||
%cargo_license_summary_online
|
||||
%{cargo_license_online} > ../LICENSE.dependencies
|
||||
|
||||
%install
|
||||
install -Dpm655 Dorion.desktop -t %buildroot%_datadir/applications
|
||||
cd src-tauri
|
||||
%cargo_install
|
||||
install -Dpm644 icons/icon.png %buildroot%_iconsdir/hicolor/512x512/apps/Dorion.png
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE LICENSE.dependencies
|
||||
%_bindir/Dorion
|
||||
%_iconsdir/hicolor/512x512/apps/Dorion.png
|
||||
%_datadir/applications/Dorion.desktop
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh_rawfile("SpikeHD/Dorion", "main", "package.json").json().version);
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 9615228a515fd77abb0cab5de21528f1f33d26f6
|
||||
%global commit_date 20251104
|
||||
%global commit 1a1d1682fe4978dca98c2811c5c8cb67114991b1
|
||||
%global commit_date 20250713
|
||||
%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.18.0
|
||||
Release: 1%?dist
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "flameshot.qt5.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
#? https://github.com/terrapkg/packages/pull/5554
|
||||
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
|
||||
|
||||
%global ver 12.1.0
|
||||
%global commit 4edfb2ac1d71e7f75fcdcb850ff6bce5fb148a7b
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20250618
|
||||
%global devel_name QtColorWidgets
|
||||
|
||||
Name: flameshot.qt5
|
||||
Version: %ver^%{commit_date}git.%shortcommit
|
||||
Release: 3%?dist
|
||||
License: GPL-3.0-or-later AND ASL-2.0 AND GPL-2.0-only AND LGPL-3.0-only AND FAL-1.3
|
||||
Summary: Powerful yet simple to use screenshot software
|
||||
URL: https://flameshot.org
|
||||
Source0: https://github.com/flameshot-org/flameshot/archive/%commit/flameshot-%commit.tar.gz
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
|
||||
BuildRequires: cmake >= 3.13.0
|
||||
BuildRequires: gcc-c++ >= 7
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
BuildRequires: cmake(Qt5Core) >= 5.9.0
|
||||
BuildRequires: cmake(KF5GuiAddons) >= 5.89.0
|
||||
BuildRequires: cmake(Qt5DBus) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Gui) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5LinguistTools) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Network) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Svg) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.9.0
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: qt5-qtbase >= 5.9.0
|
||||
Requires: qt5-qttools >= 5.9.0
|
||||
Requires: qt5-qtsvg%{?_isa} >= 5.9.0
|
||||
|
||||
%dnl Provides: flameshot = %version-%release
|
||||
Conflicts: flameshot
|
||||
|
||||
Recommends: xdg-desktop-portal%{?_isa}
|
||||
Recommends: (xdg-desktop-portal-gnome%{?_isa} if gnome-shell%{?_isa})
|
||||
Recommends: (xdg-desktop-portal-kde%{?_isa} if plasma-workspace-wayland%{?_isa})
|
||||
Recommends: (xdg-desktop-portal-wlr%{?_isa} if wlroots%{?_isa})
|
||||
|
||||
%description
|
||||
Powerful and simple to use screenshot software with built-in
|
||||
editor with advanced features.
|
||||
|
||||
Features:
|
||||
|
||||
* Customizable appearance.
|
||||
* Easy to use.
|
||||
* In-app screenshot edition.
|
||||
* DBus interface.
|
||||
* Upload to Imgur
|
||||
|
||||
|
||||
%pkg_completion -Bfz flameshot
|
||||
|
||||
%package devel
|
||||
Summary: Flameshot development files
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
Development files for Flameshot.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n flameshot-%commit
|
||||
|
||||
%build
|
||||
export GIT_HASH=%commit
|
||||
%cmake -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON \
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
# https://fedoraproject.org/wiki/PackagingDrafts/find_lang
|
||||
%find_lang Internationalization --with-qt
|
||||
%fdupes %{buildroot}%{_datadir}/icons
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
|
||||
%files -f Internationalization.lang
|
||||
%{_datadir}/flameshot/translations/Internationalization_grc.qm
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%dir %{_datadir}/flameshot
|
||||
%dir %{_datadir}/flameshot/translations
|
||||
%{_bindir}/flameshot
|
||||
%{_libdir}/lib%{devel_name}.so.*
|
||||
%{_datadir}/applications/org.flameshot.Flameshot.desktop
|
||||
%{_metainfodir}/org.flameshot.Flameshot.metainfo.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.flameshot.Flameshot.xml
|
||||
%{_datadir}/dbus-1/services/org.flameshot.Flameshot.service
|
||||
%{_datadir}/icons/hicolor/*/apps/*.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/*.svg
|
||||
%{_mandir}/man1/flameshot.1*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/lib%{devel_name}.so
|
||||
%{_libdir}/cmake/%{devel_name}/
|
||||
%{_libdir}/pkgconfig/%{devel_name}.pc
|
||||
%{_includedir}/%{devel_name}/
|
||||
@@ -1,12 +1,11 @@
|
||||
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
|
||||
|
||||
%global ver 13.3.0
|
||||
%global commit 7ed3cfc83eda4bd33f5044041075689bb517a314
|
||||
%global ver 12.1.0
|
||||
%global commit 4edfb2ac1d71e7f75fcdcb850ff6bce5fb148a7b
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20251130
|
||||
#global commit_date 20250608
|
||||
%global commit_date 20250618
|
||||
%global devel_name QtColorWidgets
|
||||
%global _distro_extra_cflags -fuse-ld=mold
|
||||
%global _distro_extra_cxxflags -fuse-ld=mold
|
||||
|
||||
Name: flameshot.nightly
|
||||
Version: %ver^%{commit_date}git.%shortcommit
|
||||
@@ -23,22 +22,24 @@ BuildRequires: fdupes
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: mold
|
||||
|
||||
BuildRequires: cmake(Qt6Core) >= 6.0.0
|
||||
BuildRequires: cmake(KF6GuiAddons) >= 6.7.0
|
||||
BuildRequires: cmake(Qt6DBus) >= 6.0.0
|
||||
BuildRequires: cmake(Qt6Gui) >= 6.0.0
|
||||
BuildRequires: cmake(Qt6LinguistTools) >= 6.0.0
|
||||
BuildRequires: cmake(Qt6Network) >= 6.0.0
|
||||
BuildRequires: cmake(Qt6Svg) >= 6.0.0
|
||||
BuildRequires: cmake(Qt6Widgets) >= 6.0.0
|
||||
BuildRequires: cmake(Qt5Core) >= 5.9.0
|
||||
BuildRequires: cmake(KF5GuiAddons) >= 5.89.0
|
||||
BuildRequires: cmake(Qt5DBus) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Gui) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5LinguistTools) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Network) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Svg) >= 5.9.0
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.9.0
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: qt5-qtbase >= 5.9.0
|
||||
Requires: qt5-qttools >= 5.9.0
|
||||
Requires: qt5-qtsvg%{?_isa} >= 5.9.0
|
||||
|
||||
%dnl Provides: flameshot = %version-%release
|
||||
Conflicts: flameshot
|
||||
|
||||
Recommends: qt6-qtimageformats
|
||||
Recommends: xdg-desktop-portal%{?_isa}
|
||||
Recommends: (xdg-desktop-portal-gnome%{?_isa} if gnome-shell%{?_isa})
|
||||
Recommends: (xdg-desktop-portal-kde%{?_isa} if plasma-workspace-wayland%{?_isa})
|
||||
@@ -54,32 +55,30 @@ Features:
|
||||
* Easy to use.
|
||||
* In-app screenshot edition.
|
||||
* DBus interface.
|
||||
* Upload to Imgur
|
||||
|
||||
|
||||
%pkg_completion -Bfz flameshot
|
||||
|
||||
%package devel
|
||||
Summary: Flameshot development files
|
||||
Requires: %{name} = %{version}
|
||||
%pkg_devel_files
|
||||
%_libdir/cmake/*/
|
||||
|
||||
%package libs
|
||||
%pkg_libs_files
|
||||
|
||||
%package static
|
||||
%pkg_static_files
|
||||
%description devel
|
||||
Development files for Flameshot.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n flameshot-%commit
|
||||
|
||||
%build
|
||||
export GIT_HASH=%commit
|
||||
%cmake -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON
|
||||
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON \
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
# https://fedoraproject.org/wiki/PackagingDrafts/find_lang
|
||||
%find_lang Internationalization --with-qt
|
||||
%fdupes %{buildroot}%{_datadir}/icons
|
||||
|
||||
@@ -88,11 +87,13 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
|
||||
%files -f Internationalization.lang
|
||||
%{_datadir}/flameshot/translations/Internationalization_grc.qm
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%dir %{_datadir}/flameshot
|
||||
%dir %{_datadir}/flameshot/translations
|
||||
%{_bindir}/flameshot
|
||||
%{_libdir}/lib%{devel_name}.so.*
|
||||
%{_datadir}/applications/org.flameshot.Flameshot.desktop
|
||||
%{_metainfodir}/org.flameshot.Flameshot.metainfo.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.flameshot.Flameshot.xml
|
||||
@@ -100,3 +101,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/*.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/*.svg
|
||||
%{_mandir}/man1/flameshot.1*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/lib%{devel_name}.so
|
||||
%{_libdir}/cmake/%{devel_name}/
|
||||
%{_libdir}/pkgconfig/%{devel_name}.pc
|
||||
%{_includedir}/%{devel_name}/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
terminate();
|
||||
rpm.global("commit", gh_commit("flameshot-org/flameshot"));
|
||||
if rpm.changed() {
|
||||
let v = gh("flameshot-org/flameshot");
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
commit 86a77b2e3d69a09f75992e6795903ab56df1a900 (HEAD -> main, fork/main)
|
||||
Author: Adam Fidel <adam@fidel.id>
|
||||
Date: Tue Apr 22 14:52:16 2025 -0500
|
||||
|
||||
feat: add MimeType to .desktop file
|
||||
|
||||
diff --git a/data/usr/share/applications/com.flatpost.flatpostapp.desktop b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
index 73013fc..d1f321d 100644
|
||||
--- a/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
+++ b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
@@ -4,3 +4,4 @@ Exec=python3 /usr/bin/flatpost
|
||||
Icon=com.flatpost.flatpostapp
|
||||
Type=Application
|
||||
Categories=Utility;
|
||||
+MimeType=application/vnd.flatpak.ref;application/vnd.flatpak.repo;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/vnd.flatpak.ref">
|
||||
<glob pattern="*.flatpakref"/>
|
||||
<comment>Flatpak Reference File</comment>
|
||||
</mime-type>
|
||||
<mime-type type="application/vnd.flatpak.repo">
|
||||
<glob pattern="*.flatpakrepo"/>
|
||||
<comment>Flatpak Repository File</comment>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
@@ -1,11 +1,13 @@
|
||||
Name: flatpost
|
||||
Version: 1.1.1
|
||||
Version: 1.0.6
|
||||
Release: 1%?dist
|
||||
License: BSD-2-Clause
|
||||
Summary: Desktop environment agnostic Flathub software center.
|
||||
|
||||
URL: https://github.com/gloriouseggroll/flatpost
|
||||
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
|
||||
Source1: flatpost-mime.xml
|
||||
Patch0: flatpost-desktop-mimetype.patch
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
@@ -43,6 +45,7 @@ installation, removal, updating, and permission management of flatpak packages a
|
||||
|
||||
%build
|
||||
make all DESTDIR=%{buildroot}
|
||||
install -D -m644 %{SOURCE1} %{buildroot}/usr/share/mime/packages/flatpost.xml
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/com.flatpost.flatpostapp.desktop
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
|
||||
if rpm.changed {
|
||||
let v = gh_tag("Milkshiift/GoofCord");
|
||||
let v = gh_tag(""Milkshiift/GoofCord");
|
||||
v.crop(1);
|
||||
rpm.global("ver", v);
|
||||
rpm.global("commit_date", date());
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
%endif
|
||||
|
||||
Name: goofcord
|
||||
Version: 1.11.2
|
||||
Release: 1%?dist
|
||||
Version: 1.10.1
|
||||
Release: 1%{?dist}
|
||||
License: OSL-3.0
|
||||
Summary: A privacy-minded Legcord fork.
|
||||
Group: Applications/Internet
|
||||
|
||||
@@ -2,4 +2,4 @@ project pkg {
|
||||
rpm {
|
||||
spec = "halloy.spec"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +1,22 @@
|
||||
# Generated by rust2rpm 27
|
||||
%bcond check 1
|
||||
%global appid org.squidowl.halloy
|
||||
%global crate halloy
|
||||
|
||||
Name: halloy
|
||||
Version: 2025.12
|
||||
Release: 1%?dist
|
||||
Version: 2025.6
|
||||
Release: %autorelease
|
||||
Summary: An open-source IRC client written in Rust, with the Iced GUI library
|
||||
Packager: Yoong jin <solomoncyj@gmail.com>
|
||||
SourceLicense: GPL-3.0-or-later
|
||||
License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (GPL-3.0+ OR BSD-3-Clause) AND (GPL-3.0-or-later) AND ISC AND (LGPL-3.0-or-later OR MPL-2.0) AND MIT AND (MIT AND (MIT OR Apache-2.0)) AND (MIT OR Apache-2.0) AND ((MIT OR Apache-2.0) AND NCSA) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND Unlicense AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
|
||||
License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND (BSD-3-Clause) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND (BSL-1.0) AND (CC0-1.0) AND (CC0-1.0 OR Apache-2.0) AND (GPL-3.0+ OR BSD-3-Clause) AND (GPL-3.0-or-later) AND (ISC) AND (LGPL-3.0-or-later OR MPL-2.0) AND (MIT) AND (MIT AND (MIT OR Apache-2.0)) AND (MIT OR Apache-2.0) AND ((MIT OR Apache-2.0) AND NCSA) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND (MPL-2.0) AND (Unicode-3.0) AND (Unlicense) AND (Unlicense OR MIT) AND (Zlib) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
|
||||
URL: https://github.com/squidowl/halloy
|
||||
Source: https://github.com/squidowl/halloy/archive/refs/tags/%{version}.tar.gz
|
||||
Source: https://github.com/squidowl/halloy/archive/refs/tags/%{Version}.tar.gz
|
||||
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
%description %{Summary}
|
||||
|
||||
%prep
|
||||
%autosetup -n halloy-%{version} -p1
|
||||
@@ -31,17 +25,29 @@ BuildRequires: pkgconfig(xcb)
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
%cargo_license_summary_online
|
||||
%{cargo_license} > LICENSE.dependencies
|
||||
|
||||
|
||||
%install
|
||||
%crate_install_bin
|
||||
desktop-file-install assets/linux/%{appid}.desktop
|
||||
install -Dpm644 assets/linux/%{appid}.appdata.xml -t %{buildroot}%{_datadir}/metainfo
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}
|
||||
cp -r assets/linux/icons -t %{buildroot}%{_datadir}
|
||||
|
||||
%cargo_license_summary_online
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
#copy logo file to be used in desktop file
|
||||
cp ./assets/logo.png %{buildroot}/%{_datadir}/icons/halloy.png
|
||||
%cargo_install
|
||||
#generate desktop file
|
||||
desktop-file-edit \
|
||||
--set-key=Type \
|
||||
--set-value=Application \
|
||||
--set-key=Name\
|
||||
--set-value=Halloy\
|
||||
--set-key=Comment \
|
||||
--set-value=%{Summary} \
|
||||
--set-key=Exec \
|
||||
--set-value=%{_bindir}/halloy \
|
||||
--set-key=Icon \
|
||||
--set-value=%{_datadir}/icons/halloy.png \
|
||||
--set-key=Terminal \
|
||||
--set-value=false \
|
||||
%{buildroot}/%{_datadir}/applications/halloy.desktop
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
@@ -55,17 +61,8 @@ cp -r assets/linux/icons -t %{buildroot}%{_datadir}
|
||||
%doc CHANGELOG.md
|
||||
%doc README.md
|
||||
%{_bindir}/halloy
|
||||
%{_datadir}/applications/%{appid}.desktop
|
||||
%{_datadir}/metainfo/%{appid}.appdata.xml
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/24x24/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/48x48/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/64x64/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/96x96/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/%{appid}.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/%{appid}.png
|
||||
%{_datadir}/icons/halloy.png
|
||||
%{_datadir}/applications/halloy.desktop
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
rpm.version(gh("squidowl/halloy"));
|
||||
let ver = gh("squidowl/halloy"); // gets latest version from GitHub
|
||||
rpm.version(ver); // updates the version in the spec file using `ver`
|
||||
|
||||
@@ -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.82.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.95.0
|
||||
Version: 1.82.0
|
||||
%forgemeta
|
||||
Release: 1%?dist
|
||||
Summary: A manga reader for GNOME
|
||||
@@ -36,7 +36,7 @@ Requires: libnotify
|
||||
Requires: webkitgtk6.0
|
||||
Requires: python3-beautifulsoup4
|
||||
Requires: python3-brotli
|
||||
Requires: python3-modern-colorthief
|
||||
Requires: python3-colorthief
|
||||
Requires: python3-dateparser %dnl >= 1.1.4 | https://bugzilla.redhat.com/show_bug.cgi?id=2115204
|
||||
Requires: python3-emoji
|
||||
Requires: python3-gobject
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 94128d8fbcac0a14af4c529b29e0d91b0b997796
|
||||
%global commit_date 20251114
|
||||
%global commit 0b1a005936552abd5aed144bdc0ca5a82f2fa682
|
||||
%global commit_date 20250622
|
||||
%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
|
||||
|
||||
@@ -3,6 +3,6 @@ project pkg {
|
||||
spec = "mpv-nightly.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
nightly = "1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
# Disable X11 for RHEL 10+
|
||||
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
%global commit 72dbcf119a9ed5082be2f226593194e20f611eea
|
||||
%global commit fdbea0fe66e7bd28610fee4c837810f2c0da1503
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20251201
|
||||
%global commit_date 20250715
|
||||
%global ver 0.40.0
|
||||
|
||||
Name: mpv-nightly
|
||||
@@ -45,8 +42,8 @@ BuildRequires: pkgconfig(libavutil) >= 57.24.100
|
||||
BuildRequires: pkgconfig(libbluray)
|
||||
BuildRequires: pkgconfig(libcdio)
|
||||
BuildRequires: pkgconfig(libcdio_paranoia)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libjpeg)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.19
|
||||
BuildRequires: pkgconfig(libplacebo) >= 6.338.0
|
||||
@@ -59,8 +56,10 @@ BuildRequires: pkgconfig(mujs)
|
||||
BuildRequires: pkgconfig(openal)
|
||||
BuildRequires: pkgconfig(rubberband)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(shaderc)
|
||||
BuildRequires: pkgconfig(uchardet) >= 0.0.5
|
||||
BuildRequires: pkgconfig(vapoursynth)
|
||||
BuildRequires: pkgconfig(vdpau)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-cursor)
|
||||
@@ -72,19 +71,12 @@ BuildRequires: pkgconfig(xdamage)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xinerama)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(xrandr)
|
||||
BuildRequires: pkgconfig(zimg) >= 2.9
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%if %{with x11}
|
||||
BuildRequires: pkgconfig(vdpau)
|
||||
BuildRequires: pkgconfig(xpresent)
|
||||
BuildRequires: pkgconfig(xrandr)
|
||||
BuildRequires: pkgconfig(xscrnsaver)
|
||||
BuildRequires: pkgconfig(xv)
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
BuildRequires: libOpenCL.so.1
|
||||
%endif
|
||||
BuildRequires: pkgconfig(zimg) >= 2.9
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Provides: mplayer-backend
|
||||
@@ -154,17 +146,10 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
-Ddvdnav=enabled \
|
||||
-Degl-drm=enabled \
|
||||
-Degl-wayland=enabled \
|
||||
%if %{with x11}
|
||||
-Degl-x11=enabled \
|
||||
-Dgl-x11=enabled \
|
||||
-Dvaapi-x11=enabled \
|
||||
-Dvdpau-gl-x11=enabled \
|
||||
-Dvdpau=enabled \
|
||||
-Dx11=enabled \
|
||||
-Dxv=enabled \
|
||||
%endif
|
||||
-Degl=enabled \
|
||||
-Dgbm=enabled \
|
||||
-Dgl-x11=enabled \
|
||||
-Dgl=enabled \
|
||||
-Dhtml-build=enabled \
|
||||
-Diconv=enabled \
|
||||
@@ -188,18 +173,23 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
-Dsdl2-audio=enabled \
|
||||
-Dsdl2-gamepad=enabled \
|
||||
-Dsdl2-video=enabled \
|
||||
-Dshaderc=disabled \
|
||||
-Dsdl2=enabled \
|
||||
-Dsndio=disabled \
|
||||
-Dspirv-cross=disabled \
|
||||
-Duchardet=enabled \
|
||||
-Dvaapi-drm=enabled \
|
||||
-Dvaapi-wayland=enabled \
|
||||
-Dvaapi-x11=enabled \
|
||||
-Dvaapi=enabled \
|
||||
-Dvapoursynth=enabled \
|
||||
-Dvdpau-gl-x11=enabled \
|
||||
-Dvdpau=enabled \
|
||||
-Dvector=enabled \
|
||||
-Dvulkan=enabled \
|
||||
-Dwayland=enabled \
|
||||
-Dwerror=false \
|
||||
-Dx11=enabled \
|
||||
-Dxv=enabled \
|
||||
-Dzimg=enabled \
|
||||
-Dzlib=enabled
|
||||
%meson_build
|
||||
@@ -220,6 +210,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mpv.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/mpv*.*
|
||||
%{_mandir}/man1/mpv.*
|
||||
%{_metainfodir}/mpv.metainfo.xml
|
||||
%dir %{_sysconfdir}/mpv/
|
||||
%config(noreplace) %{_sysconfdir}/mpv/encoding-profiles.conf
|
||||
|
||||
%files libs
|
||||
%license LICENSE.GPL LICENSE.LGPL Copyright
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
v1.11.15
|
||||
@@ -1,5 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "dorion.spec"
|
||||
spec = "nekoray.spec"
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,10 @@
|
||||
Version=1.0
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=Throne
|
||||
Name=nekoray
|
||||
Categories=Network;
|
||||
Comment=Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||
Comment[zh_CN]=基于 Qt 的跨平台代理配置管理器 (后端 sing-box)
|
||||
Keywords=Internet;VPN;Proxy;sing-box;nekoray;
|
||||
Exec=/usr/bin/throne
|
||||
Icon=/usr/share/icons/Throne.ico
|
||||
Keywords=Internet;VPN;Proxy;sing-box;
|
||||
Exec=/bin/nekoray
|
||||
Icon=/usr/share/icons/nekoray.ico
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
/lib64/nekoray/nekoray -appdata "${@}"
|
||||
@@ -1,23 +1,21 @@
|
||||
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
|
||||
|
||||
Name: throne
|
||||
Version: 1.0.11
|
||||
%global gomodulesmode GO111MODULE=on
|
||||
Name: nekoray
|
||||
Version: 4.3.7
|
||||
Release: 1%?dist
|
||||
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||
URL: https://github.com/throneproj/Throne
|
||||
URL: https://github.com/Mahdi-zarei/nekoray
|
||||
License: GPLv3
|
||||
|
||||
Obsoletes: nekoray < 4.3.7-2
|
||||
|
||||
Source0: https://github.com/throneproj/Throne/archive/refs/tags/%{version}.tar.gz#/throne-%{version}.tar.gz
|
||||
Source0: https://github.com/Mahdi-zarei/nekoray/archive/refs/tags/%{version}.tar.gz#/nekoray-%{version}.tar.gz
|
||||
Packager: bunzuhbu <g89156436@gmail.com>
|
||||
Source1: vendor-%{version}.tar.gz
|
||||
%define fetch_vendor %{_rpmconfigdir}/rpmuncompress -xv %{SOURCE1}
|
||||
|
||||
Source2: Sagernet.SingBox.Version.txt
|
||||
%define singbox_version $(cat %{SOURCE2})
|
||||
|
||||
Source3: %{name}.desktop
|
||||
Source4: %{name}.sh
|
||||
Source5: https://raw.githubusercontent.com/throneproj/routeprofiles/rule-set/srslist.h
|
||||
|
||||
BuildRequires: rpm_macro(cmake)
|
||||
BuildRequires: rpm_macro(cmake_build)
|
||||
@@ -38,9 +36,8 @@ BuildRequires: patchelf
|
||||
BuildRequires: sed
|
||||
BuildRequires: golang
|
||||
BuildRequires: rpm_macro(gobuildflags)
|
||||
BuildRequires: protobuf-compiler
|
||||
Requires: %{name}-core
|
||||
%define core Core
|
||||
%define core nekobox_core
|
||||
|
||||
%package core
|
||||
Summary: %{summary}
|
||||
@@ -52,52 +49,43 @@ Summary: %{summary}
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n Throne-%{version}
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
sed -i 's~find_package(Protobuf CONFIG REQUIRED)~find_package(Protobuf REQUIRED)~' cmake/myproto.cmake
|
||||
sed -i 's~add_library(qhotkey 3rdparty/QHotkey/qhotkey.cpp)~add_library(qhotkey STATIC 3rdparty/QHotkey/qhotkey.cpp)~' cmake/QHotkey.cmake
|
||||
# sed -i 's~ImageFormat::BGRA~ImageFormat::BGR~' 3rdparty/ZxingQtReader.hpp
|
||||
pushd core/server
|
||||
export GOBIN=$(pwd)/gobin
|
||||
export PATH="${PATH}:${GOBIN}"
|
||||
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
||||
go install github.com/chai2010/protorpc/protoc-gen-protorpc@latest
|
||||
|
||||
cd gen
|
||||
protoc -I . --go_out=. --protorpc_out=. libcore.proto
|
||||
%{fetch_vendor}
|
||||
popd
|
||||
|
||||
%build
|
||||
mkdir -p %__cmake_builddir
|
||||
cp %{S:5} %__cmake_builddir/
|
||||
%cmake
|
||||
%cmake_build
|
||||
DEST=$PWD/%{__cmake_builddir}/%{core}
|
||||
pushd core/server
|
||||
export GOBIN=$(pwd)/gobin
|
||||
export PATH="${PATH}:${GOBIN}"
|
||||
%define currentgoldflags -w -s -X github.com/sagernet/sing-box/constant.Version=%{singbox_version}
|
||||
%define gomodulesmode GO111MODULE=on
|
||||
%define build_ldflags %nil
|
||||
export GO_LDFLAGS=' '
|
||||
export GO_BUILDTAGS="with_clash_api with_gvisor with_quic with_wireguard with_utls with_dhcp with_tailscale"
|
||||
%gobuild -o $DEST -mod=readonly -modcacherw
|
||||
go build %{gobuildflags} -o $DEST -trimpath -ldflags "-B 0x$(echo "%{name}-%{version}-%{release}-${SOURCE_DATE_EPOCH:-}" | sha1sum | cut -d ' ' -f1) -w -s -X 'github.com/sagernet/sing-box/constant.Version=%{singbox_version}'" -tags "with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_ech,with_dhcp"
|
||||
popd
|
||||
|
||||
%install
|
||||
install -Dm755 %__cmake_builddir/Throne %buildroot%_libdir/%name/%name
|
||||
install -Dm755 %__cmake_builddir/%core %buildroot%_libdir/%name/%core
|
||||
install -Dpm755 %{SOURCE4} %{buildroot}%{_bindir}/%{name}
|
||||
install -Dpm644 %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
install -Dpm644 res/Throne.ico -t %buildroot%_iconsdir/
|
||||
install -Dpm644 res/public/Throne.png -t %buildroot%_datadir/pixmaps/
|
||||
mkdir -p %{buildroot}%{_libdir}/%{name}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
mkdir -p %{buildroot}%{_datadir}/icons
|
||||
|
||||
cp %{SOURCE4} %{buildroot}%{_bindir}/%{name}
|
||||
cp %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
sed -i 's~/bin~%{_bindir}~g;s~/usr/share~%{_datadir}~g;s~nekoray~%{name}~g' %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
sed -i 's~/bin~%{_bindir}~g;s~/lib64~%{_libdir}~g;s~nekoray~%{name}~g' %{buildroot}%{_bindir}/%{name}
|
||||
cp %{__cmake_builddir}/%{name} %{buildroot}%{_libdir}/%{name}/%{name}
|
||||
cp %{__cmake_builddir}/%{core} %{buildroot}%{_libdir}/%{name}/%{core}
|
||||
cp res/nekoray.ico %{buildroot}%{_datadir}/icons/%{name}.ico
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{name}
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{core}
|
||||
|
||||
%files
|
||||
%attr(0755, -, -) %{_bindir}/%{name}
|
||||
%attr(0755, -, -) %{_libdir}/%{name}/%{name}
|
||||
%attr(0644, -, -) %{_datadir}/icons/Throne.ico
|
||||
%attr(0644, -, -) %{_datadir}/icons/%{name}.ico
|
||||
%attr(0644, -, -) %{_datadir}/applications/%{name}.desktop
|
||||
%_datadir/pixmaps/Throne.png
|
||||
|
||||
%files core
|
||||
%dir %{_libdir}/%{name}
|
||||
@@ -0,0 +1,5 @@
|
||||
let sourcedir = "anda/apps/nekoray";
|
||||
|
||||
sh(`dnf in -y golang rpmdevtools tar rpm-build coreutils`, #{});
|
||||
sh(`pushd ${sourcedir}; bash -x pre.sh; popd`, #{});
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
export sourcedir="$PWD"
|
||||
rpmdev-spectool --all --get-files nekoray.spec
|
||||
version=$(rpmspec --query --queryformat "%{VERSION}\n" nekoray.spec | uniq)
|
||||
|
||||
tar -xzf "nekoray-${version}.tar.gz"
|
||||
pushd "nekoray-${version}/core/server"
|
||||
go mod download github.com/stretchr/testify
|
||||
go mod vendor
|
||||
tar -czf "${sourcedir}/vendor-${version}.tar.gz" vendor
|
||||
popd
|
||||
@@ -0,0 +1,3 @@
|
||||
rpm.version(find(`([\d.]+)-\d+-\d+-\d+`, gh_rawfile("Mahdi-zarei/nekoray", "dev", "nekoray_version.txt"), 1));
|
||||
|
||||
open_file("anda/apps/nekoray/Sagernet.SingBox.Version.txt", "w").write(gh("sagernet/sing-box"));
|
||||
@@ -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 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: peazip
|
||||
Version: 10.7.0
|
||||
Version: 10.5.0
|
||||
Release: 1%?dist
|
||||
Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager
|
||||
License: LGPL-3.0-only
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%global pypi_name protontricks
|
||||
|
||||
Name: terra-%{pypi_name}
|
||||
Version: 1.13.1
|
||||
Release: 1%?dist
|
||||
Version: 1.12.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Simple wrapper that does winetricks things for Proton enabled games
|
||||
BuildArch: noarch
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rasputin.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
%global commit a822eb767a330711e67714428c1c56cf3c82f044
|
||||
%global commit_date 20251118
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: rasputin
|
||||
Version: 0~%commit_date.git~%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: Mouse and keyboard settings for Raspberry Pi Desktop
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/raspberrypi-ui/rasputin
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gcc
|
||||
|
||||
Requires: libxml2
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n rasputin-%{commit}
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang rpcc_rasputin
|
||||
|
||||
%files -f rpcc_rasputin.lang
|
||||
%license debian/copyright
|
||||
%{_datadir}/rpcc/ui/rasputin.ui
|
||||
%{_libdir}/rpcc/librpcc_rasputin.so
|
||||
|
||||
%changelog
|
||||
* Sun Oct 26 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Initial commit
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("raspberrypi-ui/appset"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rp-appset.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
%global commit a822eb767a330711e67714428c1c56cf3c82f044
|
||||
%global commit_date 20251118
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: appset
|
||||
Version: 0~%commit_date.git~%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: Application for customisation of appearance of Raspberry Pi Desktop
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/raspberrypi-ui/appset
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gcc
|
||||
|
||||
Requires: libxml2
|
||||
|
||||
Provides: pipanel
|
||||
Provides: rp-appset
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n appset-%commit
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang rpcc_pipanel
|
||||
|
||||
%files -f rpcc_pipanel.lang
|
||||
%doc README
|
||||
%license debian/copyright
|
||||
%{_datadir}/rpcc/ui/pipanel.ui
|
||||
%{_libdir}/rpcc/librpcc_pipanel.so
|
||||
%{_iconsdir}/hicolor/24x24/apps/appset-desktop.png
|
||||
%{_iconsdir}/hicolor/24x24/apps/appset-taskbar.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/appset-desktop.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/appset-taskbar.png
|
||||
|
||||
%changelog
|
||||
* Sat Oct 25 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Follow upstream by changing to build plugin instead of application
|
||||
* Fri Aug 15 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Package appset
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("raspberrypi-ui/appset"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rp-bookshelf.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
%global commit d09cc3fdb2071552f18b4564e1c77cb288b580db
|
||||
%global commit_date 20251104
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: rp-bookshelf
|
||||
Version: 0~%commit_date.git~%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: Browser for Raspberry Pi Press publications in PDF format
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/raspberrypi-ui/bookshelf
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gcc
|
||||
|
||||
Requires: libcurl gtk3
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n bookshelf-%commit
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%find_lang %{name}
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc README
|
||||
%license debian/copyright
|
||||
%{_bindir}/rp-bookshelf
|
||||
%{_datadir}/icons/hicolor/16x16/apps/bookshelf.png
|
||||
%{_datadir}/icons/hicolor/24x24/apps/bookshelf.png
|
||||
%{_datadir}/icons/hicolor/32x32/apps/bookshelf.png
|
||||
%{_datadir}/icons/hicolor/48x48/apps/bookshelf.png
|
||||
%{_datadir}/applications/rp-bookshelf.desktop
|
||||
%{_datadir}/rp-bookshelf/*
|
||||
|
||||
%changelog
|
||||
* Fri Aug 08 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Package bookshelf
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("raspberrypi-ui/bookshelf"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rpcc.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
%global commit 9527e92f697ad380ce8669a2b6c61260abafab19
|
||||
%global commit_date 20251126
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: rpcc
|
||||
Version: 0~%commit_date.git~%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: Raspberry Pi Control Centre - an extensible settings application for the Raspberry Pi Desktop
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/raspberrypi-ui/rpcc
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gcc
|
||||
|
||||
Requires: libxml2
|
||||
Requires: gtk3
|
||||
|
||||
%description
|
||||
Raspberry Pi Control Centre - an extensible settings application for the Raspberry Pi Desktop
|
||||
|
||||
rpcc is a settings application which loads tab pages at runtime from plugin modules.
|
||||
|
||||
A number of packages contain plugins which are installed as standard on Raspberry Pi images:
|
||||
- pipanel - appearance settings
|
||||
- rc-gui - Raspberry Pi Configuration
|
||||
- raindrop - screen layout
|
||||
- rasputin - mouse and keyboard input
|
||||
- rpinters - printers
|
||||
|
||||
%prep
|
||||
%autosetup -n rpcc-%commit
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang rpcc
|
||||
|
||||
%files -f rpcc.lang
|
||||
%doc README
|
||||
%license debian/copyright
|
||||
%{_bindir}/rpcc
|
||||
%{_datadir}/applications/rpcc.desktop
|
||||
%{_datadir}/rpcc/ui/rpcc.ui
|
||||
|
||||
%changelog
|
||||
* Sat Oct 25 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Initial commit
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("raspberrypi-ui/rpcc"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -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-07-15
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
@@ -17,7 +17,7 @@ Source0: https://github.com/ruffle-rs/ruffle/archive/refs/tags/nightly-%v
|
||||
Provides: ruffle
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: anda-srpm-macros mold
|
||||
BuildRequires: gcc-c++ cmake
|
||||
BuildRequires: gcc-c++ cmake java
|
||||
BuildRequires: java-latest-openjdk-headless
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "scrcpy.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
%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
|
||||
Summary: Display and control your Android device
|
||||
License: Apache-2.0 AND Proprietary
|
||||
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)
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavdevice)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
BuildRequires: pkgconfig(libswresample)
|
||||
BuildRequires: pkgconfig(libusb)
|
||||
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_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
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%_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 +0,0 @@
|
||||
rpm.version(gh("Genymobile/scrcpy"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "signal-desktop.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,157 +0,0 @@
|
||||
#? 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.*$
|
||||
|
||||
%ifarch x86_64
|
||||
%define arch %{nil}
|
||||
%elifarch aarch64
|
||||
%define arch arm64-
|
||||
%endif
|
||||
|
||||
Name: signal-desktop
|
||||
Version: 7.80.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}
|
||||
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
|
||||
|
||||
Requires: gtk3
|
||||
Requires: libwayland-cursor
|
||||
Requires: libwayland-client
|
||||
Requires: libxkbcommon
|
||||
Requires: gdk-pixbuf2
|
||||
Requires: libthai
|
||||
Requires: nettle
|
||||
Requires: avahi-libs
|
||||
Requires: libXfixes
|
||||
Requires: libjpeg-turbo
|
||||
Requires: sqlite-libs
|
||||
Requires: json-glib
|
||||
Requires: libdatrie
|
||||
Requires: libxml2
|
||||
Requires: libbrotli
|
||||
Requires: cairo
|
||||
Requires: xz-libs
|
||||
Requires: libxcb
|
||||
Requires: nss-util
|
||||
Requires: nss
|
||||
Requires: dbus-libs
|
||||
Requires: mesa-libgbm
|
||||
Requires: at-spi2-atk
|
||||
Requires: expat
|
||||
Requires: alsa-lib
|
||||
Requires: xdg-utils
|
||||
Requires: re2
|
||||
Requires: (libXtst or libXtst6)
|
||||
Requires: libXScrnSaver
|
||||
Requires: libnotify
|
||||
Requires: (libuuid or libuuid1)
|
||||
Requires: at-spi2-core
|
||||
Requires: c-ares
|
||||
Requires: gtk3
|
||||
Requires: minizip
|
||||
|
||||
Provides: signal
|
||||
Provides: Signal
|
||||
Provides: Signal-Desktop
|
||||
|
||||
%description
|
||||
Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers.
|
||||
|
||||
%prep
|
||||
%autosetup -n Signal-Desktop-%{version}
|
||||
|
||||
%build
|
||||
pnpm install --frozen-lockfile
|
||||
pushd sticker-creator
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm build
|
||||
popd
|
||||
pnpm run build-linux --dir
|
||||
|
||||
%install
|
||||
install -Dm755 release/linux-%{arch}unpacked/libEGL.so %{buildroot}%{_libdir}/signal-desktop/libEGL.so
|
||||
install -Dm755 release/linux-%{arch}unpacked/libGLESv2.so %{buildroot}%{_libdir}/signal-desktop/libGLESv2.so
|
||||
install -Dm755 release/linux-%{arch}unpacked/libffmpeg.so %{buildroot}%{_libdir}/signal-desktop/libffmpeg.so
|
||||
install -Dm755 release/linux-%{arch}unpacked/libvk_swiftshader.so %{buildroot}%{_libdir}/signal-desktop/libvk_swiftshader.so
|
||||
install -Dm755 release/linux-%{arch}unpacked/libvulkan.so.1 %{buildroot}%{_libdir}/signal-desktop/libvulkan.so.1
|
||||
install -Dm644 release/linux-%{arch}unpacked/icudtl.dat %{buildroot}%{_libdir}/signal-desktop/icudtl.dat
|
||||
install -Dm644 release/linux-%{arch}unpacked/v8_context_snapshot.bin %{buildroot}%{_libdir}/signal-desktop/v8_context_snapshot.bin
|
||||
install -Dm644 release/linux-%{arch}unpacked/chrome_100_percent.pak %{buildroot}%{_libdir}/signal-desktop/chrome_100_percent.pak
|
||||
install -Dm644 release/linux-%{arch}unpacked/chrome_200_percent.pak %{buildroot}%{_libdir}/signal-desktop/chrome_200_percent.pak
|
||||
install -Dm644 release/linux-%{arch}unpacked/resources.pak %{buildroot}%{_libdir}/signal-desktop/resources.pak
|
||||
install -Dm644 release/linux-%{arch}unpacked/vk_swiftshader_icd.json %{buildroot}%{_libdir}/signal-desktop/vk_swiftshader_icd.json
|
||||
install -Dm644 release/linux-%{arch}unpacked/resources/app.asar %{buildroot}%{_libdir}/signal-desktop/resources/app.asar
|
||||
cp -r release/linux-%{arch}unpacked/resources/app.asar.unpacked %{buildroot}%{_libdir}/signal-desktop/resources/
|
||||
|
||||
install -Dm755 release/linux-%{arch}unpacked/chrome-sandbox %{buildroot}%{_libdir}/signal-desktop/chrome-sandbox
|
||||
install -Dm755 release/linux-%{arch}unpacked/chrome_crashpad_handler %{buildroot}%{_libdir}/signal-desktop/chrome_crashpad_handler
|
||||
|
||||
install -Dm755 release/linux-%{arch}unpacked/signal-desktop %{buildroot}%{_libdir}/signal-desktop/signal-desktop
|
||||
|
||||
install -Dm644 release/linux-%{arch}unpacked/resources/org.signalapp.view-aep.policy %{buildroot}%{_datadir}/polkit-1/rules.d/org.signalapp.view-aep.policy
|
||||
install -Dm644 release/linux-%{arch}unpacked/resources/org.signalapp.enable-backups.policy %{buildroot}%{_datadir}/polkit-1/rules.d/org.signalapp.enable-backups.policy
|
||||
|
||||
install -Dm644 build/icons/png/1024x1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/signal.png
|
||||
install -Dm644 build/icons/png/128x128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/signal.png
|
||||
install -Dm644 build/icons/png/16x16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/signal.png
|
||||
install -Dm644 build/icons/png/24x24.png %{buildroot}%{_iconsdir}/hicolor/24x24/apps/signal.png
|
||||
install -Dm644 build/icons/png/256x256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/signal.png
|
||||
install -Dm644 build/icons/png/32x32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/signal.png
|
||||
install -Dm644 build/icons/png/48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/signal.png
|
||||
install -Dm644 build/icons/png/512x512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/signal.png
|
||||
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
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md CONTRIBUTING.md ACKNOWLEDGMENTS.md
|
||||
%license release/linux-%{arch}unpacked/LICENSE.electron.txt
|
||||
%license release/linux-%{arch}unpacked/LICENSES.chromium.html
|
||||
%{_bindir}/signal-desktop
|
||||
%{_libdir}/signal-desktop/
|
||||
%{_datadir}/polkit-1/rules.d/org.signalapp.view-aep.policy
|
||||
%{_datadir}/polkit-1/rules.d/org.signalapp.enable-backups.policy
|
||||
%{_datadir}/applications/signal.desktop
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/signal.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/signal.png
|
||||
%{_iconsdir}/hicolor/16x16/apps/signal.png
|
||||
%{_iconsdir}/hicolor/24x24/apps/signal.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/signal.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/signal.png
|
||||
%{_iconsdir}/hicolor/48x48/apps/signal.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/signal.png
|
||||
%{_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,13 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Signal
|
||||
Exec=signal-desktop %U
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=signal
|
||||
StartupWMClass=Signal
|
||||
Comment=Private messaging from your desktop
|
||||
MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha;
|
||||
Categories=Network;InstantMessaging;Chat;
|
||||
X-Desktop-File-Install-Version=0.27
|
||||
X-Purism-FormFactor=Workstation;Mobile;
|
||||
X-Flatpak-RenamedFrom=signal-desktop.desktop;
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("signalapp/Signal-Desktop"));
|
||||
@@ -2,8 +2,8 @@
|
||||
%global realname subtitleedit
|
||||
|
||||
Name: %realname.bin
|
||||
Version: 4.0.14
|
||||
Release: 1%?dist
|
||||
Version: 4.0.12
|
||||
Release: 2%?dist
|
||||
Summary: An advanced subtitle editor and converter
|
||||
License: GPL-3.0-only
|
||||
URL: https://www.nikse.dk/SubtitleEdit
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: switcheroo-control
|
||||
Version: 3.0
|
||||
Release: 1%?dist
|
||||
Version: 2.6
|
||||
Release: 9%{?dist}
|
||||
Summary: D-Bus service to check the availability of dual-GPU
|
||||
|
||||
License: GPLv3
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
Throne-*
|
||||
*.tar.gz
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user