Compare commits

..

7 Commits

Author SHA1 Message Date
windowsboy111 bf9dacd94b idk 2023-02-10 21:48:54 +08:00
windowsboy111 3169248716 still trying to fix 2023-02-10 20:21:01 +08:00
windowsboy111 2502f899f2 stuff 2023-02-09 22:00:52 +08:00
windowsboy111 79fc4684d5 yet another dep 2023-02-09 21:28:24 +08:00
windowsboy111 de8a87051d fix: deps again 2023-02-09 21:11:39 +08:00
windowsboy111 a0047a6bdc fix: BuildRequires 2023-02-09 20:56:47 +08:00
windowsboy111 1d9bb99914 add: imager 2023-02-09 20:30:44 +08:00
2593 changed files with 11132 additions and 84475 deletions
-9
View File
@@ -1,9 +0,0 @@
{
"repoOwner": "terrapkg",
"repoName": "packages",
"resetAuthor": true,
"targetBranchChoices": ["el10", "f41", "f42", "f43", "frawhide"],
"branchLabelMapping": {
"^sync-(.+)$": "$1"
}
}
+10
View File
@@ -0,0 +1,10 @@
ARG VARIANT="37"
FROM fedora:${VARIANT}
RUN useradd -m vscode
RUN groupadd mock
RUN usermod -aG mock vscode
RUN echo vscode ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/vscode
RUN dnf -y install git 'dnf-command(config-manager)' mock createrepo_c
RUN dnf config-manager --add-repo='https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo'
RUN dnf -y install anda anda-mock-configs
+7 -16
View File
@@ -1,20 +1,11 @@
{
"name": "Terra Devcontainer",
"image": "ghcr.io/terrapkg/builder:frawhide",
"runArgs": ["--privileged"],
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"customizations": {
"vscode": {
"extensions": [
"rhaiscript.vscode-rhai",
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
]
}
"name": "Fedora",
"build": {
"dockerfile": "Dockerfile",
"args": { "VARIANT": "37" }
},
"settings": {},
"extensions": [],
"remoteUser": "vscode",
"onCreateCommand": "sudo usermod -a -G mock vscode"
"runArgs": ["--privileged"]
}
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: Bug report
about: Report an issue with a package (or Terra itself)
about: Report an issue with a package (or Terra itsself)
title: '[BUG] '
labels: bug
assignees: ''
-172
View File
@@ -1,172 +0,0 @@
// Configure sccache environment variables for GitHub Actions cache integration
//
// This script is still unused until we build terra-sccache with this supported,
// Turns out that Fedora's sccache build has the GHA feature support disabled.
//
// Note: ACTIONS_CACHE_SERVICE_V2 and SCCACHE_GHA_ENABLED are set at workflow level
module.exports = async ({ github, context, core, exec }) => {
// Find sccache path (try which command)
let sccachePath = "sccache";
try {
const result = await exec.getExecOutput("which", ["sccache"], {
ignoreReturnCode: true,
silent: true,
});
if (result.exitCode === 0 && result.stdout.trim()) {
sccachePath = result.stdout.trim();
core.info(`Found sccache at: ${sccachePath}`);
}
} catch (e) {
core.debug(`Could not find sccache path: ${e.message}`);
}
// Check sccache version
try {
const versionResult = await exec.getExecOutput(sccachePath, ["--version"], {
ignoreReturnCode: true,
silent: true,
});
core.info(`sccache version: ${versionResult.stdout.trim()}`);
} catch (e) {
core.warning(`Could not get sccache version: ${e.message}`);
}
// Debug: Show what environment variables are available
core.info("=== Environment Variables Diagnostic ===");
core.info(`SCCACHE_GHA_ENABLED: ${process.env.SCCACHE_GHA_ENABLED}`);
core.info(
`ACTIONS_CACHE_SERVICE_V2: ${process.env.ACTIONS_CACHE_SERVICE_V2}`,
);
core.info(
`ACTIONS_RESULTS_URL: ${process.env.ACTIONS_RESULTS_URL ? "SET (length: " + process.env.ACTIONS_RESULTS_URL.length + ")" : "NOT SET"}`,
);
core.info(
`ACTIONS_RUNTIME_TOKEN: ${process.env.ACTIONS_RUNTIME_TOKEN ? "SET (length: " + process.env.ACTIONS_RUNTIME_TOKEN.length + ")" : "NOT SET"}`,
);
core.info(`RUSTC_WRAPPER: ${process.env.RUSTC_WRAPPER}`);
core.info(`SCCACHE_LOG: ${process.env.SCCACHE_LOG}`);
core.info("========================================");
// Export SCCACHE_PATH so it's available to subsequent steps
core.exportVariable("SCCACHE_PATH", sccachePath);
// Expose the GHA cache related variables to make it easier for users to
// integrate with GHA support (from upstream mozilla/sccache-action)
if (process.env.ACTIONS_RESULTS_URL) {
core.exportVariable("ACTIONS_RESULTS_URL", process.env.ACTIONS_RESULTS_URL);
core.info("✓ Exported ACTIONS_RESULTS_URL");
} else {
core.error(
"ACTIONS_RESULTS_URL is not set - GitHub Actions cache WILL NOT work",
);
}
if (process.env.ACTIONS_RUNTIME_TOKEN) {
core.exportVariable(
"ACTIONS_RUNTIME_TOKEN",
process.env.ACTIONS_RUNTIME_TOKEN,
);
core.info("✓ Exported ACTIONS_RUNTIME_TOKEN");
} else {
core.error(
"ACTIONS_RUNTIME_TOKEN is not set - GitHub Actions cache WILL NOT work",
);
}
// Set cache version and restore keys for this specific build matrix
if (process.env.SCCACHE_GHA_VERSION) {
core.exportVariable("SCCACHE_GHA_VERSION", process.env.SCCACHE_GHA_VERSION);
}
if (process.env.SCCACHE_GHA_CACHE_FROM) {
core.exportVariable(
"SCCACHE_GHA_CACHE_FROM",
process.env.SCCACHE_GHA_CACHE_FROM,
);
}
// Check if cache busting is enabled
const inputs =
(github &&
github.context &&
github.context.payload &&
github.context.payload.inputs) ||
{};
const rawBustCache =
inputs.bust_cache ??
inputs.bustCache ??
process.env.INPUT_BUST_CACHE ??
process.env.BUST_CACHE;
let bustCache = false;
if (typeof rawBustCache === "string") {
const v = rawBustCache.toLowerCase().trim();
bustCache = v === "true" || v === "1" || v === "yes";
} else {
bustCache = !!rawBustCache;
}
if (bustCache) {
core.exportVariable("SCCACHE_RECACHE", "1");
core.info("SCCACHE_RECACHE enabled because bust_cache is true");
}
// Stop any running sccache daemon so it picks up the new environment variables
core.info("Stopping any running sccache daemon to pick up configuration...");
try {
await exec.exec(sccachePath, ["--stop-server"], {
ignoreReturnCode: true,
});
core.info("✓ sccache daemon stopped successfully");
} catch (e) {
core.debug(
`Could not stop sccache daemon (it may not be running): ${e.message}`,
);
}
// Verify sccache can see the GHA environment variables by starting server with explicit env
core.info("Starting sccache server with GHA environment variables...");
const sccacheEnv = {
...process.env,
SCCACHE_GHA_ENABLED: process.env.SCCACHE_GHA_ENABLED || "on",
ACTIONS_CACHE_SERVICE_V2: process.env.ACTIONS_CACHE_SERVICE_V2 || "on",
};
try {
await exec.exec(sccachePath, ["--start-server"], {
ignoreReturnCode: true,
env: sccacheEnv,
});
core.info("✓ sccache server started");
} catch (e) {
core.warning(`Could not start sccache server: ${e.message}`);
}
// Show the current sccache configuration
core.info("Verifying sccache configuration:");
try {
const statsResult = await exec.getExecOutput(
sccachePath,
["--show-stats"],
{
ignoreReturnCode: true,
env: sccacheEnv,
},
);
// Check if it's using GitHub Actions cache
if (statsResult.stdout.includes("GitHub Actions")) {
core.info("✓ sccache is configured to use GitHub Actions cache");
} else if (statsResult.stdout.includes("Local disk")) {
core.error(
"✗ sccache is using Local disk cache instead of GitHub Actions cache!",
);
core.error(
"This means SCCACHE_GHA_ENABLED or required env vars are not being recognized.",
);
core.info("Stats output:");
core.info(statsResult.stdout);
}
} catch (e) {
core.debug(`Could not show sccache stats: ${e.message}`);
}
};
-121
View File
@@ -1,121 +0,0 @@
module.exports = async ({ github, context, core, exec }) => {
if (!exec) {
throw new Error("exec parameter is required but was not provided");
}
// Use SCCACHE_PATH if set, otherwise default to 'sccache' (will use PATH)
const sccachePath = process.env.SCCACHE_PATH || "sccache";
core.debug(`Using sccache path: ${sccachePath}`);
const percentage = (x, y) => Math.round((x / y) * 100 || 0);
const plural = (count, base, pluralForm = base + "s") =>
`${count} ${count === 1 ? base : pluralForm}`;
const sumStats = (stats) =>
Object.values(stats.counts).reduce((acc, val) => acc + val, 0);
const formatDuration = (duration) => {
const ms = duration.nanos / 1e6;
return `${duration.secs}s ${ms}ms`;
};
const formatJsonStats = (stats) => {
const cacheErrorCount = sumStats(stats.stats.cache_errors);
const cacheHitCount = sumStats(stats.stats.cache_hits);
const cacheMissCount = sumStats(stats.stats.cache_misses);
const totalHits = cacheHitCount + cacheMissCount + cacheErrorCount;
const ratio = percentage(cacheHitCount, totalHits);
const writeDuration = formatDuration(stats.stats.cache_write_duration);
const readDuration = formatDuration(stats.stats.cache_read_hit_duration);
const compilerDuration = formatDuration(
stats.stats.compiler_write_duration,
);
const noticeHit = plural(cacheHitCount, "hit");
const noticeMiss = plural(cacheMissCount, "miss", "misses");
const noticeError = plural(cacheErrorCount, "error");
const notice = `${ratio}% - ${noticeHit}, ${noticeMiss}, ${noticeError}`;
const table = [
[{ data: "Cache hit %", header: true }, { data: `${ratio}%` }],
[
{ data: "Cache hits", header: true },
{ data: cacheHitCount.toString() },
],
[
{ data: "Cache misses", header: true },
{ data: cacheMissCount.toString() },
],
[
{ data: "Cache errors", header: true },
{ data: cacheErrorCount.toString() },
],
[
{ data: "Compile requests", header: true },
{ data: stats.stats.compile_requests.toString() },
],
[
{ data: "Requests executed", header: true },
{ data: stats.stats.requests_executed.toString() },
],
[
{ data: "Cache writes", header: true },
{ data: stats.stats.cache_writes.toString() },
],
[
{ data: "Cache write errors", header: true },
{ data: stats.stats.cache_write_errors.toString() },
],
[{ data: "Cache write duration", header: true }, { data: writeDuration }],
[
{ data: "Cache read hit duration", header: true },
{ data: readDuration },
],
[
{ data: "Compiler write duration", header: true },
{ data: compilerDuration },
],
];
return { table, notice };
};
const getOutput = async (command, args = []) => {
core.debug(`get_output: ${command} ${args.join(" ")}`);
const output = await exec.getExecOutput(command, args, {
ignoreReturnCode: false,
silent: false,
});
if (!output.stdout.endsWith("\n")) {
process.stdout.write("\n");
}
return output.stdout.toString();
};
const humanStats = await core.group("Get human-readable stats", async () => {
return getOutput(sccachePath, ["--show-stats"]);
});
const jsonStats = await core.group("Get JSON stats", async () => {
return getOutput(sccachePath, ["--show-stats", "--stats-format=json"]);
});
const stats = JSON.parse(jsonStats);
const formattedStats = formatJsonStats(stats);
core.notice(formattedStats.notice, {
title: `sccache stats - ${context.job}`,
});
core.info("\nFull human-readable stats:");
core.info(humanStats);
core.summary.addHeading("sccache stats", 2);
core.summary.addTable(formattedStats.table);
core.summary.addDetails(
"Full human-readable stats",
"\n\n```\n" + humanStats + "\n```\n\n",
);
core.summary.addDetails(
"Full JSON Stats",
"\n\n```json\n" + JSON.stringify(stats, null, 2) + "\n```\n\n",
);
await core.summary.write();
};
+50 -77
View File
@@ -1,108 +1,81 @@
# for each folder in anda/
# generate a new workflow for each folder in anda/
name: Automatically build packages
permissions:
contents: read
on:
push:
paths:
- anda/**
branches:
- frawhide
pull_request:
branches:
- frawhide
merge_group:
branches:
- frawhide
- main
workflow_dispatch:
workflow_call:
jobs:
manifest:
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-latest
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container:
image: ghcr.io/terrapkg/builder:frawhide
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
# check out the repo
steps:
- name: Set workspace as safe
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-depth: 2
- run: git pull
#- run: git checkout HEAD^
# - name: Generate Build matrix
# id: generate_build_matrix
# # generate build matrix by checking out changes in anda/
# run: |
# # get the list of changed folders in the current commit, including subfolders
# changed_folders=$(git diff --name-only HEAD^ | grep -oP 'anda\/(.+)(\/|\$)' | sort -u )
# echo "Changed folders: $changed_folders"
# # if changed_folders is empty then set is empty to true
# if [ -z "$changed_folders" ]; then
# echo "::set-output name=is_empty::true"
# else
# echo "::set-output name=is_empty::false"
# fi
# # turn it into a json array
# build_matrix=$(echo "$changed_folders" | jq -R . | jq -s . | jq -c .)
# echo "::set-output name=build_matrix::$build_matrix"
# #echo "::set-output name=build_matrix::$build_matrix"
- name: Generate build matrix
id: generate_build_matrix
run: anda ci >> $GITHUB_OUTPUT
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: ["37"]
fail-fast: false
#if: ${{ matrix.changed_folders != '' }}
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/appstream-generator:main
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Download artifacts
uses: actions/download-artifact@v5
- uses: terrapkg/anda-build@main
with:
merge-multiple: true
path: ./artifacts
- name: Generate test catalog
# run appstream-builder, then add step summary
run: |
set -x
appstream-builder -v \
--packages-dir=artifacts/rpms \
--icons-dir=icons \
--include-failed \
--output-dir=output \
--uncompressed-icons \
--origin=test \
--basename=test \
--veto-ignore=missing-parents \
--veto-ignore=missing-info 2>&1 | tee asb.log
- name: Export logs
id: export_logs
run: |
echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```log' >> $GITHUB_STEP_SUMMARY
cat asb.log >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '---' >> $GITHUB_STEP_SUMMARY
name: "${{ matrix.pkg.pkg }}"
mockConfig: anda-${{ matrix.version }}-${{ matrix.pkg.arch }}
extraArgs: -D "sccache_bucket ${{secrets.SCCACHE_BUCKET}}" -D "sccache_endpoint ${{secrets.SCCACHE_ENDPOINT}}" -D "sccache_secret ${{secrets.SCCACHE_SECRET}}" -D "sccache_accesskey ${{secrets.SCCACHE_ACCESSKEY}}"
andaRepo: https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
- name: Report Summary
id: report_summary
- name: Upload packages to subatomic
run: |
echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if grep -q "veto" asb.log; then
echo "::group::Vetoed packages"
echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details."
echo "::endgroup::"
fi
echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
for file in output/*.xml.gz; do
echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```xml' >> $GITHUB_STEP_SUMMARY
zcat "$file" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
done
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
+54
View File
@@ -0,0 +1,54 @@
name: Bootstrap anda
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["37"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: fedora:37
options: --cap-add=SYS_ADMIN --privileged
steps:
- uses: actions/checkout@v3
with:
repository: FyraLabs/anda
# - name: Run shell commands
# run: |
# git config --global url.https://github.com/.insteadOf git://github.com/
# git clone https://github.com/FyraLabs/anda.git
- uses: actions/setup-go@v3
with:
go-version: "^1.19"
- name: Install repositories
run: |
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
- run: sudo dnf install -y mock createrepo_c rpm-build anda-mock-configs gcc curl wget git-core openssl-devel
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Anda
uses: actions-rs/cargo@v1
with:
command: install
args: anda
- name: Install Subatomic
run: go install github.com/FyraLabs/subatomic/subatomic-cli@latest
- name: Build
run: anda build -c anda-37-${{ matrix.arch }} anda -p rpm
- run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
+57
View File
@@ -0,0 +1,57 @@
name: Bootstrap Andaman and Subatomic (Fedora 38)
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["38"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: fedora:38
options: --cap-add=SYS_ADMIN --privileged
steps:
- uses: actions/setup-go@v3
with:
go-version: "^1.19"
- name: Install repositories
run: |
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
sudo dnf install -y mock createrepo_c rpm-build anda-mock-configs gcc curl wget git-core openssl-devel
- uses: actions/checkout@v3
with:
repository: FyraLabs/subatomic
ref: bootstrap
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Anda
uses: actions-rs/cargo@v1
with:
command: install
args: anda
- name: Build Subatomic
run: anda build -c anda-38-${{ matrix.arch }} subatomic -p rpm
- name: Install Subatomic
run: sudo dnf install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- uses: actions/checkout@v3
with:
repository: FyraLabs/anda
- name: Build Andaman
run: anda build -c anda-38-${{ matrix.arch }} anda -p rpm
- name: Upload to Subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
+58
View File
@@ -0,0 +1,58 @@
name: Bootstrap subatomic
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["37"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: fedora:37
options: --cap-add=SYS_ADMIN --privileged
steps:
# - name: Run shell commands
# run: |
# git config --global url.https://github.com/.insteadOf git://github.com/
# git clone https://github.com/FyraLabs/anda.git
- uses: actions/setup-go@v3
with:
go-version: "^1.19"
- name: Install repositories
run: |
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
- run: sudo dnf install -y mock createrepo_c rpm-build anda-mock-configs gcc curl wget git-core openssl-devel
- uses: actions/checkout@v3
with:
repository: FyraLabs/subatomic
set-safe-directory: true
fetch-depth: 1
- name: Set up git repository
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Anda
uses: actions-rs/cargo@v1
with:
command: install
args: anda
- name: Install Subatomic
run: go install github.com/FyraLabs/subatomic/subatomic-cli@latest
- name: Build
run: anda build -c anda-37-${{ matrix.arch }} subatomic -p rpm
- run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
-78
View File
@@ -1,78 +0,0 @@
name: Bootstrap Andaman and Subatomic
permissions:
contents: read
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["rawhide"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Install repositories
run: |
dnf5 swap -y --setopt=install_weak_deps=False systemd-standalone-sysusers systemd
dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script
- uses: actions/checkout@v4
with:
ref: f${{ matrix.version }}
fetch-depth: 1
- name: Build anda-srpm-macros
run: |
mkdir -p anda-build/rpm/rpms
rpmbuild -bb anda/terra/srpm-macros/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/terra/srpm-macros/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Install build dependencies
run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
- name: Install Anda
run: |
rpmbuild -bb anda/tools/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/tools/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Build terra-mock-configs
run: |
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
export PATH=$PATH:/github/home/.cargo/bin
git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -D "vendor Terra" -rrpmbuild anda/terra/mock-configs/pkg
- name: Install terra-mock-configs
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
- name: Build terra-release
run: anda build -D "vendor Terra" -rrpmbuild anda/terra/release/pkg
- name: Build Subatomic
run: anda build -D "vendor Terra" -rrpmbuild anda/tools/buildsys/subatomic/pkg
- name: Install Subatomic
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- name: Tidy up output directory
run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64} | true
- name: Upload packages to subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
+31 -52
View File
@@ -1,64 +1,43 @@
name: Manual Builds
permissions:
contents: read
name: Build Packages
on:
workflow_dispatch:
inputs:
packages:
description: "Packages to Build"
description: "Packages to Build (pkg-a, pkg-b, ...)"
required: true
custom_builder:
description: "Custom Builder"
required: false
default: ""
architecture:
description: "Architectures"
required: false
default: ""
type: string
run-name: ${{ inputs.packages }}
jobs:
manifest:
parse:
outputs:
build_matrix: ${{ steps.parsing.outputs.build_matrix }}
runs-on: ubuntu-24.04-arm
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
pkgs: ${{ steps.parsing.outputs.pkgs }}
runs-on: "ubuntu-latest"
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
run: echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $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 }}
needs: parse
strategy:
matrix:
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
version: ["37"]
arch: ["x86_64", "aarch64"]
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
steps:
- uses: terrapkg/anda-build@main
with:
name: "${{ matrix.pkg }}pkg"
mockConfig: anda-37-${{ matrix.arch }}
extraArgs: -D "sccache_bucket ${{secrets.SCCACHE_BUCKET}}" -D "sccache_endpoint ${{secrets.SCCACHE_ENDPOINT}}" -D "sccache_secret ${{secrets.SCCACHE_SECRET}}" -D "sccache_accesskey ${{secrets.SCCACHE_ACCESSKEY}}"
andaRepo: https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo
- name: Upload packages to subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
-132
View File
@@ -1,132 +0,0 @@
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:
strategy:
matrix:
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' }}
container:
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: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: CI Setup Script
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
run: |
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
- name: Install Build Dependencies
if: ${{ matrix.pkg.labels.mock != '1' }}
run: |
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' || '' }}
- 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: inputs.publish
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: inputs.publish && 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: inputs.publish && 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"
+14
View File
@@ -0,0 +1,14 @@
name: Lint
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:main
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Lint spec files
run: rpmlint $(find anda -type f -name "*.spec" -type f)
+73
View File
@@ -0,0 +1,73 @@
# for each folder in anda/
# generate a new workflow for each folder in anda/
name: Mass Rebuild
on:
workflow_dispatch:
jobs:
manifest:
runs-on: ubuntu-latest
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
is_empty: ${{ steps.generate_build_matrix.outputs.is_empty }}
# check out the repo
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- run: git fetch
#- run: git checkout HEAD^
- name: Generate Build matrix
id: generate_build_matrix
# generate build matrix by checking out changes in anda/
run: |
build_matrix=$(find anda/ | grep -oP 'anda\/(.+)(\/|\$)' | sort -u | jq -R -s -c 'split("\n")[:-1]')
# create build matrix with { changed_folders: [ "folder1", "folder2" ] }
echo "build_matrix=$build_matrix" >> $GITHUB_OUTPUT
#echo "::set-output name=build_matrix::$build_matrix"
build:
needs: manifest
strategy:
matrix:
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
version: ["37"]
arch: ["x86_64", "aarch64"]
fail-fast: false
#if: ${{ matrix.changed_folders != '' }}
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Check file existence
id: check_files
run: |
if test -f "${{ matrix.pkg }}anda.hcl"; then
echo "EXISTS=true" >> $GITHUB_OUTPUT
else
echo "EXISTS=false" >> $GITHUB_OUTPUT
fi
- uses: terrapkg/anda-build@main
if: steps.check_files.outputs.EXISTS == 'true'
with:
name: "${{ matrix.pkg }}pkg"
mockConfig: anda-37-${{ matrix.arch }}
extraArgs: -D "sccache_bucket ${{secrets.SCCACHE_BUCKET}}" -D "sccache_endpoint ${{secrets.SCCACHE_ENDPOINT}}" -D "sccache_secret ${{secrets.SCCACHE_SECRET}}" -D "sccache_accesskey ${{secrets.SCCACHE_ACCESSKEY}}"
andaRepo: https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo
- name: Upload packages to subatomic
if: steps.check_files.outputs.EXISTS == 'true'
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
-21
View File
@@ -1,21 +0,0 @@
set -x
dirs=$2
dirs=${dirs/\/pkg/}
export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":\"$dirs\",\"succ\":$1,\"commit\":\"$7\"}"
if [[ $1 == false ]]; then
d=${p/\%v/?}
d=${d/\%r/?}
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/f -X PUT -H "Content-Type: application/json" -d "$d" --fail-with-body
exit 0
fi
for f in anda-build/rpm/rpms/*; do
n=$(lesspipe.sh $f | grep -E "Name\s*: " | sed "s@Name\s*: @@" | head -n1)
v=$(lesspipe.sh $f | grep -E "Version\s*: " | sed "s@Version\s*: @@" | head -n1)
r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\s*: @@" | head -n1)
d=${p/\%v/$v}
d=${d/\%r/$r}
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/$n -X PUT -H "Content-Type: application/json" -d $d --fail-with-body
done
-39
View File
@@ -1,39 +0,0 @@
name: Automatic backport/sync action
permissions:
contents: write
pull-requests: write
on:
pull_request_target:
types: ["labeled", "closed"]
jobs:
backport:
name: Backport/sync PR
runs-on: ubuntu-22.04
if: github.event.pull_request.merged
steps:
- name: Install SSH signing key
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
- name: Setup Raboneko Signing
run: |
git config --global gpg.format "ssh"
git config --global user.signingkey "${{ runner.temp }}/signing_key"
git config --global commit.gpgsign true
- name: Backport Action
uses: sorenlouv/backport-github-action@v10.2.0
with:
github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }}
auto_backport_label_prefix: sync-
- name: Info log
if: ${{ success() }}
run: cat ~/.backport/backport.info.log
- name: Debug log
if: ${{ failure() }}
run: cat ~/.backport/backport.debug.log
-57
View File
@@ -1,57 +0,0 @@
name: Update per branch
permissions:
contents: write
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-24.04-arm
strategy:
matrix:
branch:
- frawhide
- f43
- f42
- f41
- el10
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: |
nbranch="${{ matrix.branch }}"
[ "$nbranch" = 'frawhide' ] && nbranch='f42'
anda update --filters updbranch=1 --labels branch=${{ matrix.branch }},nbranch=$nbranch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(anda run andax/ci/update_commit_message.rhai)"
git commit -S -a -m "$msg"
git push -u origin --all
fi
+5 -13
View File
@@ -1,31 +1,23 @@
name: Push comps updates
permissions:
contents: read
on:
push:
branches:
- frawhide
- f43
- f42
- f41
- el10
- main
paths:
- comps.xml
workflow_dispatch:
jobs:
update-comps:
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
image: ghcr.io/terrapkg/builder:main
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Push to subatomic
run: |
branch=${{ github.ref_name }}
ver=${branch/f/}
subatomic-cli upload-comps \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
"terra${ver}" comps.xml
terra37 comps.xml
+10 -25
View File
@@ -1,6 +1,4 @@
name: Nightly Update
permissions:
contents: write
name: Automatic Nightly Update
on:
schedule:
- cron: "0 0 * * *"
@@ -8,49 +6,36 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-depth: 2
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
- name: Install SSH signing key
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Nightly Update
run: anda update --filters nightly=1
run: anda update -vv --filters nightly=1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
git config --global --add safe.directory "*"
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(nightly): $(anda run andax/ci/update_commit_message.rhai)"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git checkout $1
git apply *.patch || true
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
git commit -S -a -m "Automatic Update: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git push -u origin main
fi
-56
View File
@@ -1,56 +0,0 @@
name: Weekly Update
permissions:
contents: write
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-24.04-arm
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Weekly Update
run: anda update --filters weekly=$(date "+%w")
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(weekly): $(anda run andax/ci/update_commit_message.rhai)"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git checkout $1
git apply *.patch || true
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+15 -27
View File
@@ -1,56 +1,44 @@
name: Update
permissions:
contents: write
# for each folder in ultramarine/
# if there is chkupdate.py
# run it every 2 hours
name: Automatically check for updates
on:
schedule:
- cron: "*/10 * * * *"
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
image: ghcr.io/terrapkg/builder:main
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-depth: 2
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
- name: Install SSH signing key
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update --excludes nightly=1 --excludes weekly=1 --excludes updbranch=1
run: anda update -vv
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Save
run: |
git config --global --add safe.directory "*"
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump: $(anda run andax/ci/update_commit_message.rhai)"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git checkout $1
git apply *.patch || true
git add anda
git commit -S -a -m "$msg"
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
git commit -S -a -m "Automatic Update: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git push -u origin main
fi
+1 -4
View File
@@ -1,4 +1 @@
anda-build/
**/*.tar*
**/*.crate
**/*.zip
anda-build/
-8
View File
@@ -1,8 +0,0 @@
{
"recommendations": [
"rhaiscript.vscode-rhai",
"1dot75cm.rpmspec",
"hashicorp.hcl",
"redhat.vscode-xml"
]
}
-1
View File
@@ -1 +0,0 @@
https://fyralabs.com/funding.json
-9
View File
@@ -1,9 +0,0 @@
// There is no HCL extension, but the Terraform extension grants HCL support
{
"auto_install_extensions": {
"RPM Spec": true,
"XML": true,
"rhai": true,
"Terraform": true
}
}
+30
View File
@@ -0,0 +1,30 @@
# Repository
/.github @lleyton
/.devcontainer @lleyton
/.gitignore @windowsboy111
/CODE_OF_CONDUCT.md @lleyton
/CONTRIBUTING.md @lleyton
/LICENSE @lleyton
/README.md @windowsboy111
/SECURITY.md @lleyton
/anda.hcl @lleyton
/comps.xml @lleyton
# Package maintainers
/anda/lib/libbismuth @lainsce
/anda/lib/libhelium @lainsce
/anda/others/tau-helium @lainsce
/anda/others/tau-hydrogen @lainsce
/anda/tools/melody @lleyton
/anda/go/curlie @lleyton
/anda/games/prismlauncher @getchoo
/anda/games/prismlauncher-nightly @getchoo
/anda/games/prismlauncher-qt5-nightly @getchoo
/anda/games/prismlauncher-qt5 @getchoo
/anda/srpm-macros @korewaChino
/anda/rust/starship @korewaChino
/anda/rust/zellij @korewaChino
/anda/audio/distrho @korewaChino
+4 -4
View File
@@ -1,7 +1,7 @@
# Contributing
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/).
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please contact us on [Discord](https://discord.gg/5fdPuxTg5Q). Since we use a GitHub Wiki for [documention](https://github.com/terrapkg/packages/wiki), our guidelines may be found there. See the links below:
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
* [Contribution Guide](https://github.com/terrapkg/packages/wiki/Contribute)
* [FAQ](https://github.com/terrapkg/packages/wiki/FAQ)
* [Policy](https://github.com/terrapkg/packages/wiki/Policy)
+6 -53
View File
@@ -1,68 +1,21 @@
# Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_37.svg)](https://repology.org/repository/terra_37)
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.
See the introduction at [our website](https://terra.fyralabs.com).
[Contributions](https://github.com/terrapkg/packages/wiki/Contribute) are always welcome, but please read our [documentation](https://github.com/terrapkg/packages/wiki) first.
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
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo
```
If you are using immutable/atomic editions of Fedora, run the following commands instead:
```bash
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
sudo rpm-ostree install terra-release
```
Optionally, you can install `terra-release-extra` to use the Extras repository. This also installs the Nvidia, and Mesa streams but does not enable them.
### Enterprise Linux (EL)
Only EL10 is supported. Not all packages available in Terra are available in Terra EL at this time.
Terra EL requires the EPEL repos, which may be installed with:
```bash
sudo dnf install 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-$releasever.noarch.rpm'
```
And Terra EL itself can be installed with:
```bash
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/
Our documentation can be found on our [GitHub Wiki](https://github.com/terrapkg/packages/wiki).
## Questions?
Feel free to reach out on [Discord](https://discord.gg/5fdPuxTg5Q). We're always happy to help!
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
+2 -2
View File
@@ -3,7 +3,7 @@
## Our Process
Fyra Labs is committed to ensuring user security and privacy.
As such, we constantly try our best to ensure that our infrastructure and process are secure, which you may read about in our [FAQ](https://developer.fyralabs.com/terra/faq#technical-details).
As such, we constantly try our best to ensure that our infrastructure and process are secure, which you may read about in our [FAQ](https://github.com/terrapkg/packages/wiki/FAQ#technical-details).
As a part of Fyra Labs's transparency measures, we will publicize details of any known breaches. This information will include, but will not be limited to:
* Affected users, infrastructure, and data.
@@ -11,7 +11,7 @@ As a part of Fyra Labs's transparency measures, we will publicize details of any
* An in-depth explanation of how the breach occurred, including relevant security vulnerabilities.
* How Fyra Labs will better protect user data in the future, ensuring our commitment to security and privacy.
We will publish these updates on our [Twitter](https://twitter.com/TeamFyraLabs), [Fedi](https://fedi.fyralabs.com/@hq), and [Discord](https://discord.gg/5fdPuxTg5Q).
We will publish these updates on our [Twitter](https://twitter.com/TeamFyraLabs) and [Discord](https://discord.gg/5fdPuxTg5Q).
## Reporting a Vulnerability
+3 -3
View File
@@ -1,6 +1,6 @@
config {
strip_prefix = "anda/"
strip_suffix = "/pkg"
strip_prefix = "anda/"
strip_suffix = "/pkg"
}
project {}
project {}
+3 -7
View File
@@ -1,9 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "anki-bin.spec"
}
labels {
subrepo = "extras"
}
rpm {
spec = "anki-bin.spec"
}
}
+25 -49
View File
@@ -1,78 +1,54 @@
%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
Name: anki-bin
Version: 25.9.2
Release: 1%?dist
Version: 2.1.57
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
License: AGPLv3+ and GPLv3+ and LGPLv3 and MIT and BSD and ASL 2.0 and CC-BY-SA and CC-BY
URL: https://apps.ankiweb.net/
BuildRequires: python3-pip rpm_macro(fdupes) cargo
Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
Requires: python3-protobuf >= 4.21
Requires: libxcrypt-compat hicolor-icon-theme sox
Requires: (mpv or mpv-nightly)
ExclusiveArch: x86_64
BuildRequires: python3-installer python3.11
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress
BuildArch: noarch
Conflicts: anki
%ifarch x86_64
Source0: %xurl
%elifarch aarch64
Source0: %aurl
%endif
Source1: %qurl
Source0: https://files.pythonhosted.org/packages/cp39/a/anki/anki-%{version}-cp39-abi3-manylinux_2_28_%{_arch}.whl
Source1: https://files.pythonhosted.org/packages/py3/a/aqt/aqt-%{version}-py3-none-any.whl
Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py
Source3: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.desktop
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
Source5: https://raw.githubusercontent.com/ankitects/anki/%{version}/LICENSE
Source6: https://raw.githubusercontent.com/ankitects/anki/%{version}/README.md
%description
Anki is a program designed to help you remember facts (such as words and
phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition.
Anki is a program designed to help you remember facts (such as words
and phrases in a foreign language) as easily, quickly and efficiently
as possible. Anki is based on a theory called spaced repetition.
%prep
%build
%install
pip3 install --root=%{buildroot} %SOURCE0 %SOURCE1
python3.11 -m installer --destdir="%{buildroot}" %{SOURCE0}
python3.11 -m installer --destdir="%{buildroot}" %{SOURCE1}
install -Dm755 %{SOURCE2} "%{buildroot}/usr/bin/anki"
install -Dm644 %{SOURCE3} "%{buildroot}/usr/share/applications/anki.desktop"
install -Dm644 %{SOURCE4} "%{buildroot}/usr/share/pixmaps/anki.png"
install -Dm644 %{SOURCE5} "%{buildroot}/%{_datadir}/licenses/%{name}/LICENSE"
install -Dm644 %{SOURCE6} "%{buildroot}/%{_datadir}/doc/%{name}/README.md"
cp -r %buildroot%_libdir/python3*/site-packages/{_aqt,anki*,aqt*} .
rm -rf %buildroot{%_libdir,/usr/lib}/python3*/site-packages/*
cp -r ./{_aqt,anki*,aqt*} %buildroot/usr/lib/python3*/site-packages/
rm -rf %buildroot%_bindir/{distro,flask,jsonschema,markdown_py,normalizer,send2trash,waitress-serve}
%fdupes %buildroot%_libdir/python*/site-packages/_aqt/data/
%files
%license LICENSE
%doc README.md
%_bindir/anki
%_bindir/pyuic6
%_bindir/pylupdate6
/usr/lib/python*/site-packages/_aqt/
/usr/lib/python*/site-packages/anki-%{version}.dist-info/
/usr/lib/python*/site-packages/anki/
/usr/lib/python*/site-packages/aqt-%{version}.dist-info/
/usr/lib/python*/site-packages/aqt/
%_datadir/applications/anki.desktop
%_datadir/pixmaps/anki.png
/usr/bin/anki
/usr/lib64/python*/site-packages/_aqt/
/usr/lib64/python*/site-packages/anki-%{version}.dist-info/
/usr/lib64/python*/site-packages/anki/
/usr/lib64/python*/site-packages/aqt-%{version}.dist-info/
/usr/lib64/python*/site-packages/aqt/
/usr/share/applications/anki.desktop
/usr/share/pixmaps/anki.png
%changelog
* Fri Nov 10 2023 hazel-bunny <dabiswas112@gmail.com> - 23.10-2
- Add python3-orjson and mpv as dependencies
* Wed Jan 11 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
* Wed Jan 11 2023 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
+1 -15
View File
@@ -1,15 +1 @@
let aarch64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-([\d.]+)-cp(\d+)-abi3-manylinux_.+?_aarch64.whl">`;
let html = get("https://pypi.org/project/anki/");
let relevant = find(aarch64_regex, html, 0);
let ver = find(aarch64_regex, relevant, 4);
rpm.version(ver);
if rpm.changed() {
rpm.release();
rpm.global("aurl", find(`"(.+)"`, relevant, 1));
let cp = find(aarch64_regex, relevant, 5);
let x86_64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-${ver}-cp${cp}-abi3-manylinux_.+?_x86_64.whl">`;
let relevant1 = find(x86_64_regex, html, 0);
rpm.global("xurl", find(`"(.+)"`, relevant1, 1));
let qhtml = get("https://pypi.org/project/aqt/");
rpm.global("qurl", find(`<a href="(https://files\.pythonhosted\.org/packages/../../.{60}/aqt-${ver}-py3-none.any.whl)">`, qhtml, 1));
}
rpm.version(gh("ankitects/anki"));
+8 -8
View File
@@ -1,20 +1,20 @@
--- a/qt/aqt/qt/__init__.py
+++ b/qt/aqt/qt/__init__.py
@@ -9,16 +9,7 @@ import sys
diff -uNr anki-2.1.55.old/qt/aqt/qt/__init__.py anki-2.1.55/qt/aqt/qt/__init__.py
--- anki-2.1.55.old/qt/aqt/qt/__init__.py 2023-01-02 18:34:13.716216913 +0800
+++ anki-2.1.55/qt/aqt/qt/__init__.py 2023-01-02 18:34:00.410033708 +0800
@@ -9,16 +9,7 @@
import traceback
from typing import Callable, TypeVar, Union
-try:
- import PyQt6
-except:
- from .qt5 import * # type: ignore
-else:
- if os.getenv("ENABLE_QT5_COMPAT"):
- if not os.getenv("DISABLE_QT5_COMPAT"):
- print("Running with temporary Qt5 compatibility shims.")
- print("Run with DISABLE_QT5_COMPAT=1 to confirm compatibility with Qt6.")
- from . import qt5_compat # needs to be imported first
- from .qt6 import *
-
+from .qt5 import * # type: ignore
from anki.utils import is_mac, is_win
# fix buggy ubuntu12.04 display of language selector
+16 -12
View File
@@ -1,13 +1,17 @@
diff --git a/qt/aqt/update.py b/qt/aqt/update.py
index 212ddf93d..6f716cc04 100644
--- a/qt/aqt/update.py
+++ b/qt/aqt/update.py
@@ -11,6 +11,8 @@ from aqt.utils import openLink, show_warning, showText, tr
diff -uNr anki-2.1.55.old/qt/aqt/profiles.py anki-2.1.55/qt/aqt/profiles.py
--- anki-2.1.55.old/qt/aqt/profiles.py 2023-01-02 18:35:44.574467892 +0800
+++ anki-2.1.55/qt/aqt/profiles.py 2023-01-02 18:34:00.412033736 +0800
@@ -77,11 +77,11 @@
def check_for_update() -> None:
+ return
+
from aqt import mw
def do_check(_col: Collection) -> CheckForUpdateResponse:
metaConf = dict(
ver=0,
- updates=True,
+ updates=False,
created=int_time(),
id=random.randrange(0, 2**63),
lastMsg=-1,
- suppressUpdate=False,
+ suppressUpdate=True,
firstRun=True,
defaultLang=None,
)
+3 -4
View File
@@ -1,6 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "anki-qt5.spec"
}
rpm {
spec = "anki-qt5.spec"
}
}
+14 -16
View File
@@ -1,29 +1,29 @@
Name: anki-qt5
Version: 25.09.2
Release: 1%?dist
Version: 2.1.57
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
License: AGPLv3+ and GPLv3+ and LGPLv3 and MIT and BSD and ASL 2.0 and CC-BY-SA and CC-BY
URL: https://apps.ankiweb.net/
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson python3-pyqt5-sip
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash python3-orjson mpv python3-qt5-webengine
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt5-sip
ExclusiveArch: x86_64
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
BuildArch: noarch
Conflicts: anki
Patch0: 0001-No-update.patch
Patch1: 0001-Force-qt5.patch
%description
Anki is a program designed to help you remember facts (such as words and
phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition.
Anki is a program designed to help you remember facts (such as words
and phrases in a foreign language) as easily, quickly and efficiently
as possible. Anki is based on a theory called spaced repetition.
%prep
rm -rf ./*
git clone https://github.com/ankitects/anki .
git checkout %version
%patch 1 -p1
git checkout %{version}
%patch0 -p1
%patch1 -p1
# See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki-qt5
@@ -46,8 +46,6 @@ chmod 755 %{buildroot}%{_bindir}/anki
find %{buildroot} -iname __pycache__ | xargs -r rm -rf
find %{buildroot} -iname direct_url.json | xargs -r rm -rf
%fdupes %_libdir/python*/site-packages/_aqt/data/
%files
%license LICENSE*
@@ -62,5 +60,5 @@ find %{buildroot} -iname direct_url.json | xargs -r rm -rf
/usr/lib64/python*/site-packages/anki-%{version}.dist-info/
%changelog
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
+16 -12
View File
@@ -1,13 +1,17 @@
diff --git a/qt/aqt/update.py b/qt/aqt/update.py
index 212ddf93d..6f716cc04 100644
--- a/qt/aqt/update.py
+++ b/qt/aqt/update.py
@@ -11,6 +11,8 @@ from aqt.utils import openLink, show_warning, showText, tr
diff -uNr anki-2.1.55.old/qt/aqt/profiles.py anki-2.1.55/qt/aqt/profiles.py
--- anki-2.1.55.old/qt/aqt/profiles.py 2023-01-02 18:35:44.574467892 +0800
+++ anki-2.1.55/qt/aqt/profiles.py 2023-01-02 18:34:00.412033736 +0800
@@ -77,11 +77,11 @@
def check_for_update() -> None:
+ return
+
from aqt import mw
def do_check(_col: Collection) -> CheckForUpdateResponse:
metaConf = dict(
ver=0,
- updates=True,
+ updates=False,
created=int_time(),
id=random.randrange(0, 2**63),
lastMsg=-1,
- suppressUpdate=False,
+ suppressUpdate=True,
firstRun=True,
defaultLang=None,
)
+3 -7
View File
@@ -1,9 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "anki.spec"
}
labels {
subrepo = "extras"
}
rpm {
spec = "anki.spec"
}
}
+17 -23
View File
@@ -1,36 +1,32 @@
Name: anki
Version: 25.09.2
Release: 1%?dist
Version: 2.1.57
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
License: AGPLv3+ and GPLv3+ and LGPLv3 and MIT and BSD and ASL 2.0 and CC-BY-SA and CC-BY
URL: https://apps.ankiweb.net/
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
Recommends: (mpv or mpv-nightly)
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
Obsoletes: anki <= 2.1.15
BuildArch: noarch
Conflicts: anki-qt5
Patch0: 0001-No-update.patch
%description
Anki is a program designed to help you remember facts (such as words and
phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition.
Anki is a program designed to help you remember facts (such as words
and phrases in a foreign language) as easily, quickly and efficiently
as possible. Anki is based on a theory called spaced repetition.
%prep
rm -rf *
git clone https://github.com/ankitects/anki .
git checkout %{version}
%patch 0 -p1
%patch0 -p1
# See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki
%build
export RELEASE=1
export PYTHONPATH=%_libdir/python3/dist-packages
cargo update
mold -run ./tools/build
@@ -51,8 +47,6 @@ find %{buildroot} -iname direct_url.json | xargs -r rm -rf
chmod 755 %{buildroot}%{_bindir}/anki
%fdupes %_libdir/python*/site-packages/_aqt/data/
%files
%license LICENSE*
@@ -60,13 +54,13 @@ chmod 755 %{buildroot}%{_bindir}/anki
%{_bindir}/anki
%{_datadir}/applications/anki.desktop
%{_datadir}/pixmaps/anki.png
%_libdir/python*/site-packages/aqt/
%_libdir/python*/site-packages/aqt-%{version}.dist-info/
%_libdir/python*/site-packages/_aqt/
%_libdir/python*/site-packages/anki/
%_libdir/python*/site-packages/anki-%{version}.dist-info/
/usr/lib64/python*/site-packages/aqt/
/usr/lib64/python*/site-packages/aqt-%{version}.dist-info/
/usr/lib64/python*/site-packages/_aqt/
/usr/lib64/python*/site-packages/anki/
/usr/lib64/python*/site-packages/anki-%{version}.dist-info/
%changelog
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "audacity-freeworld.spec"
}
}
@@ -1,752 +0,0 @@
%global __requires_exclude ^lib-.*.so
%global __provides_exclude ^lib-.*.so
%global ver Audacity-3.7.5
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
Name: audacity-freeworld
Version: %{sanitized_ver}
Release: 1%?dist
Summary: Multitrack audio editor
License: GPLv2
URL: https://www.audacityteam.org/
%define realname audacity
Conflicts: %{realname}
Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/audacity-sources-%{version}.tar.gz
# manual can be installed from the base Fedora Audacity package.
BuildRequires: cmake
BuildRequires: gettext-devel
BuildRequires: chrpath
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: alsa-lib-devel
BuildRequires: desktop-file-utils
BuildRequires: expat-devel
BuildRequires: flac-devel
BuildRequires: git
BuildRequires: gtk3-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: ladspa-devel
BuildRequires: lame-devel
BuildRequires: libid3tag-devel
BuildRequires: libjpeg-turbo-devel turbojpeg
BuildRequires: libmad-devel
BuildRequires: taglib-devel
BuildRequires: twolame-devel
BuildRequires: libogg-devel
BuildRequires: libsndfile-devel
BuildRequires: libuuid-devel
BuildRequires: libvorbis-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: lilv-devel
BuildRequires: lv2-devel
BuildRequires: mpg123-devel
BuildRequires: opusfile-devel
BuildRequires: portaudio-devel >= 19-16
BuildRequires: portmidi-devel
BuildRequires: rapidjson-devel
BuildRequires: serd-devel
BuildRequires: shared-mime-info
BuildRequires: sord-devel
BuildRequires: soundtouch-devel
BuildRequires: soxr-devel
# Use local sqlite as system fails
BuildRequires: sqlite-devel
BuildRequires: sratom-devel
BuildRequires: suil-devel
BuildRequires: vamp-plugin-sdk-devel >= 2.0
BuildRequires: wavpack-devel
BuildRequires: wxGTK-devel
BuildRequires: zip
BuildRequires: zlib-devel
BuildRequires: python3
BuildRequires: libappstream-glib
Recommends: ffmpeg-libs
# For new symbols in portaudio
Requires: portaudio%{?_isa} >= 19-16
ExcludeArch: s390x
%description
Audacity is a cross-platform multitrack audio editor. It allows you to
record sounds directly or to import files in various formats. It features
a few s0mple effects, all of the editing features you should need, and
unlimited undo. The GUI was built with wxWidgets and the audio I/O
supports PulseAudio, OSS and ALSA under Linux.
This build has support for mp3 and ffmpeg import/export.
%prep
%autosetup -p1 -n %{realname}-sources-%{version}
# Make sure we use the system versions.
rm -rf lib-src/{libvamp,libsoxr}/
#Included in src/AboutDialog.cpp but not supplied
touch include/RevisionIdent.h
%build
%cmake \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(wx-config --libs)" \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(wx-config --libs)" \
-DAUDACITY_BUILD_LEVEL:STRING=2 \
-Daudacity_conan_enabled=Off \
-Daudacity_has_networking=Off \
-Daudacity_has_crashreports=Off \
-Daudacity_has_updates_check=Off \
-Daudacity_has_sentry_reporting=Off \
-Daudacity_lib_preference:STRING=system \
-Daudacity_use_libsndfile=system \
-Daudacity_use_soxr=system \
-Daudacity_use_lame=system \
-Daudacity_use_twolame=system \
-Daudacity_use_libflac=system \
-Daudacity_use_ladspa=on \
-Daudacity_use_libvorbis=system \
-Daudacity_use_libid3tag=system \
-Daudacity_use_expat=system \
-Daudacity_use_soundtouch=system \
-Daudacity_use_vamp=system \
-Daudacity_use_lv2=system \
-Daudacity_use_midi=system \
-Daudacity_use_libogg=system \
-Daudacity_has_vst3:BOOL=Off \
-Daudacity_use_ffmpeg=loaded
%cmake_build
%install
%cmake_install
# Remove the RPATH from all the private libraries provided with Audacity and
# make them all executable so that debug symbol extraction happens.
# CMake could do this on its own using the install target for the library,
# but the Audacity build system manually copies around the libraries so it
# doesn't use the install target. This is very involved to fix in the code,
# so this work around is easier and more maintainable than patching the build
# system.
pushd %{buildroot}%{_libdir}/%{realname}
for libFile in *;
do
if [[ ! -d $libFile ]];
then
chrpath --delete $libFile
chmod 755 $libFile
fi
done
popd
pushd %{buildroot}%{_libdir}/%{realname}/modules
for libFile in *;
do
if [[ ! -d $libFile ]];
then
chrpath --delete $libFile
chmod 755 $libFile
fi
done
popd
if appstream-util --help | grep -q replace-screenshots ; then
appstream-util replace-screenshots %{buildroot}%{_metainfodir}/audacity.appdata.xml \
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/audacity/a.png
fi
%{find_lang} %{realname}
desktop-file-install --dir %{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/audacity.desktop
mkdir %{buildroot}%{_datadir}/doc/%{realname}/nyquist
cp -pr lib-src/libnyquist/nyquist/license.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
cp -pr lib-src/libnyquist/nyquist/Readme.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
rm %{buildroot}%{_datadir}/doc/%{realname}/LICENSE.txt
rm -f %{buildroot}%{_prefix}/%{realname}
%files -f %{realname}.lang
%{_bindir}/%{realname}
%{_libdir}/%{realname}/
%dir %{_datadir}/%{realname}
%{_datadir}/%{realname}/EffectsMenuDefaults.xml
%{_datadir}/%{realname}/nyquist/
%{_datadir}/%{realname}/plug-ins/
%{_mandir}/man*/*
%{_datadir}/applications/*
%{_metainfodir}/%{realname}.appdata.xml
%{_datadir}/pixmaps/*
%{_datadir}/icons/hicolor/*/%{realname}.png
%{_datadir}/icons/hicolor/scalable/apps/%{realname}.svg
%{_datadir}/mime/packages/*
%{_datadir}/doc/%{realname}
%license LICENSE.txt
%changelog
* Thu Jan 03 2025 Owen Zimmerman <owen@fyralabs.com>
- Port to Terra
* Thu Dec 12 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.1-1
- Update to 3.7.1
* Wed Oct 30 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.0-1
- Update to 3.7.0
* Sat Sep 14 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.3-1
- Update to 3.6.3
* Wed Sep 04 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.2-1
- Update to 3.6.2
* Mon Jul 29 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.1-1
- Update to 3.6.1
* Wed Jul 17 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.0-1
- Update to 3.6.0
* Fri Apr 26 2024 Leigh Scott <leigh123linux@gmail.com> - 3.5.1-1
- Update to 3.5.1
* Sat Feb 03 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Nov 17 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.2-1
- 3.4.2
* Fri Nov 03 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.0-1
- 3.4.0
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jun 11 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.3-1
- 3.3.3
* Sun May 07 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.2-1
- 3.3.2
* Thu May 04 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-2
- Fix crash on startup (rfbz#6669)
* Fri Apr 28 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-1
- 3.3.1
* Mon Apr 24 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.0-1
- 3.3.0
* Sat Apr 01 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-2
- Add ffmpeg-6 support
* Tue Mar 14 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-1
- 3.2.5
- Use clang
* Tue Dec 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.2-1
- 3.2.2
* Thu Oct 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.1-1
- 3.2.1
* Fri Sep 23 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.0-1
- 3.2.0
* Sat Aug 06 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
* Thu Feb 24 2022 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-3
- Use compat-ffmpeg4 for f36+
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Dec 23 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-1
- 3.1.3
* Sun Dec 12 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.2-1
- 3.1.2
* Sat Nov 13 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.1-1
- 3.1.1
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.0-1
- 3.1.0
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-5
- Rebuilt for new ffmpeg snapshot
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-4
- Fix build level
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-3
- Fix lang (rfbz#6117)
* Tue Oct 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-2
- Filter internal libs from provides and requires (rfbz#6112)
* Thu Oct 14 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-1
- 3.0.5
* Sat Oct 02 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-3
- Add Fedora patches
* Mon Aug 02 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Apr 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-1
- 3.0.2
* Sun Mar 21 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-2
- Use local sqlite as system fails
* Thu Mar 18 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-1
- 3.0.0
- Use local wxwidgets, audacity isn't usable with gtk3
* Tue Feb 23 2021 Sérgio Basto <sergio@serjux.com> - 2.4.2-4
- partial fedora sync
* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 1 2021 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-2
- Rebuilt for new ffmpeg snapshot
* Wed Oct 21 2020 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-1
- Update to Audacity 2.4.2
* Wed Sep 02 2020 Leigh Scott <leigh123linux@gmail.com> - 2.3.3-5
- Add GDK_BACKEND=x11 to audacity.desktop exec line (rfbz#5551)
- Fix incorrect appdata.xml type tag (bug #1810509)
* Mon Aug 17 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Mar 26 2020 leigh123linux <leigh123linux@googlemail.com> - 2.3.3-3
- Fix gcc-10 compile issue
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Nov 23 2019 David Timms <iinet.net.au@dtimms> - 2.3.3-1
- Update to Audacity 2.3.3.
- Modify wxWidgets build require to wxGTK3 (gtk3 version).
- Modify libdir patch for 2.3.3.
- Fix -manual file archive dropping the leading help/ in path.
- Disable twolame for EPEL-8 as the -devel package isn't available.
* Wed Aug 07 2019 Leigh Scott <leigh123linux@gmail.com> - 2.3.2-2
- Rebuild for new ffmpeg version
* Tue Jun 4 2019 David Timms <iinet.net.au@dtimms> - 2.3.2-1
- Update to Audacity 2.3.2 release.
- Rebase audacity-2.3.2-libdir.patch.
* Mon Mar 18 2019 Leigh Scott <leigh123linux@googlemail.com> - 2.3.1-1
- Update to Audacity 2.3.1 release
- Fixes Audacity 2.3.0 broken release (rfbz#5077)
* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Oct 1 2018 David Timms <iinet.net.au@dtimms> - 2.3.0-1
- Update to Audacity 2.3.0 release.
- change mp3 capability to be always present rather than a compile option.
- Modify audacity-2.2.1-libdir.patch and audacity-2.2.1-libmp3lame-default.patch
to apply the rpm macro path directly.
- Add grep check to fail if RPMLIB is found in modified source.
- Fix libid3tag configure option.
* Thu Jul 26 2018 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.2.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Apr 27 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.2.2-5
- Revert 'Use compat-ffmpeg28 on Fedora 28+'
* Thu Mar 08 2018 RPM Fusion Release Engineering <leigh123linux@googlemail.com> - 2.2.2-4
- Rebuilt for new ffmpeg snapshot
* Mon Feb 26 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-3
- Restore remove after configure
- Remove obsolete scriptlets
* Sun Feb 25 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-2
- Use compat-ffmpeg28 on Fedora 28+
- Also add conditionals to be possible build with local ffmpeg (not in use)
- Use autoconf before ./configure
- Readd libmp3lame-default.patch and libdir.patch
- Readd to configure --disable-dynamic-loading
- General review of spec
- Comment BR portmidi-devel and remove no-local-includes.patch
* Thu Feb 22 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-1
- Update to 2.2.2
- Readd no-local-includes.patch
- Reorganize conditonal with_mp3, now have twolame, lame and libmad
- Readd desktop.in.patch
- Add to configure --with-lv2 --with-midi --with-portmidi with some commentaries
- Temporary fix to portaudio became permanent (--with-portaudio=local)
* Thu Feb 01 2018 Sérgio Basto <sergio@serjux.com> - 2.2.1-1
- Update to 2.2.1
* Sun Dec 03 2017 Sérgio Basto <sergio@serjux.com> - 2.2.0-1
- Update to 2.2.0
* Mon Oct 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-5
- Rebuild for ffmpeg update
* Sun Oct 08 2017 Sérgio Basto <sergio@serjux.com> - 2.1.3-4
- Rebuild for soundtouch 2.0.0
- Fix build for new wxBase
- Sync with Fedora proper
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Apr 29 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-2
- Rebuild for ffmpeg update
* Fri Mar 24 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-1
- 2.1.3 release.
* Sat Mar 18 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-0.10.20161109git53a5c93
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Nov 22 2016 Sérgio Basto <sergio@serjux.com> - 2.1.3-0.9.20161109git53a5c93
- Use bcond_without correctly, fix wx-config-3.0-gtk2 detection, also simplify
some comments
* Thu Nov 17 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.8.20161109git53a5c93
- fix mp3 build parameter by defining mp3importexport conditional.
* Wed Nov 9 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.7.20161109git53a5c93
- 2.1.3 Alpha git snapshot 2016-11-09.
* Sat Jul 30 2016 Julian Sikorski <belegdol@fedoraproject.org> - 2.1.2-3
- Rebuilt for ffmpeg-3.1.1
* Wed Jun 22 2016 Nicolas Chauvet <kwizart@gmail.com> - 2.1.2-2
- Backport fix for gcc6
* Thu Mar 03 2016 Sérgio Basto <sergio@serjux.com> - 2.1.2-1
- Update audacity to 2.1.2 final
* Sun Jul 19 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-1
- Release of Audacity 2.1.1.
* Sun Jun 28 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.2.dea351a
- remove Source1 reference to manual (available in Fedora audacity build).
* Wed Jun 24 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.1.dea351a
- Update to 2.1.1 pre-release git snapshot to prepare for release.
- Conditionalize AppData out of EPEL <=7 release.
- Use better AppData screenshots.
* Mon Jan 12 2015 David Timms <iinet.net.au@dtimms> - 2.0.6-1
- update to upstream release 2.0.6
- update non-dl-ffmpeg.patch to match this version
* Sat Aug 30 2014 Sérgio Basto <sergio@serjux.com> - 2.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Sep 30 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.4-3
- Rebuilt
* Sun Sep 22 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-2
- Add upstream patch to avoid segfault when starting Effects|Equalization
* Sat Sep 14 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-1
- update to upstream release 2.0.4
- rebase audacity-2.0.1-libmp3lame-default
* Sat May 4 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 2.0.3-1
- New upstream release 2.0.3
- Fix FTBFS by using ffmpeg-compat (rf#2707)
- Disable dynamic loading to force proper Requires for the used libs
* Sun Mar 03 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.1-2
- Mass rebuilt for Fedora 19 Features
* Tue Jul 3 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-1
- update to 2.0.1 final
- rebase libmp3lame-default.patch
- rebase desktop.in.patch
* Tue Jun 26 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-0.1.rc2
- update to 2.0.1 release candidate 2
* Wed Mar 14 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-1
- update to 2.0.0 final
* Sun Mar 11 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.9.rc9
- update to 2.0.0 release candidate 9
- drop upstreamed glib2 include patch
* Tue Mar 6 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.8.rc8
- update to 2.0.0 release candidate 8 for testing only
* Wed Feb 22 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.3.rc3
- update to 2.0.0 release candidate 3
* Sat Feb 18 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.2.rc1.20120218svn11513
- update to release candidate from svn snapshot
* Sun Feb 5 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.1.alpha20120205svn11456
- update to 2.0.0 alpha svn snapshot
- delete accepted ffmpeg-0.8.y patch
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.5
- fix Source1 help reference (again).
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.4
- update to 1.3.14 beta release
* Thu Dec 8 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.3.alpha20111101svn11296
- add ffmpeg-0.8 patch from Leland Lucius
- add test patch to workaround gtypes-include problem
* Tue Nov 1 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.1.alpha20111101svn11296
- update to 1.3.14 alpha svn snapshot
* Sat Apr 30 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.4.beta
- fix files and dir ownership including -manual files in the main package
* Tue Apr 26 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
- delete help file Source reference; will be done in Fedora instead.
* Sun Apr 24 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
- upgrade to 1.3.13-beta
- drop patches included in upstream release
- convert desktop file to a patch against new upstream .desktop file.
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.11.beta
- fix build failure compiling ffmpeg.cpp
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.10.beta
- fix build failure in portmixer due to "Missing support in pa_mac_core.h"
Applied svn trunk portmixer configure changes.
- del previous patch attempt (unsuccessful)
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.9.beta
- fix build failure due to portmixer configure problems
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.8.beta
- fix hang when play at speed with ratio less than 0.09 is used (#637347)
* Sat Aug 7 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.7.beta
- patch to suit APIChange introduced in ffmpeg-0.6. Resolves rfbz #1356.
fixes ffmpeg import/export.
* Thu Jul 15 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.6.beta
- drop vamp-plugin path patch to suit updated vamp-plugin-sdk-2.1
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.4.beta
- mods to ease diffs between builds for fedora and full
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.3.beta
- really package new icons found in icons/hicolor
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.2.beta
- mod tartopdir to use package version macro
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.3.beta
- fix icons glob to use realname
- add more supported mimetypes and categories to the desktop file
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.2.beta
- upgrade to 1.3.12-beta
- package new icons found in icons/hicolor
* Sat Dec 5 2009 David Timms <iinet.net.au@dtimms> - 1.3.10-0.1.1.beta
- upgrade to 1.3.10-beta
- re-base spec to fedora devel and patches by mschwendt
* Thu Dec 3 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.2.beta
- continue with upgrade to f12 version
* Mon Nov 16 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.1.beta
- upgrade to 1.3.9-beta to match Fedora version.
- resync to include new and updated patches from mschwendt
- add conditional freeworld to allow minimal change from Fedora version
* Fri Oct 23 2009 Orcan Ogetbil <oged[DOT]fedora[AT]gmail[DOT]com> - 1.3.7-0.6.2.beta
- Update desktop file according to F-12 FedoraStudio feature
* Tue May 26 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.6.1.beta
- match the 1.3.7.beta version in fedora proper
- include new and updated patches from mschwendt
- del no longer required patches
* Sun Mar 29 2009 Julian Sikorski <belegdol@fedoraproject.org> - 1.3.6-0.4.beta
- wxGTK no longer provides wxGTK2 in Fedora 11
* Sun Mar 29 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.3.6-0.3.beta
- rebuild for new F11 features
- revert to 1.3.6.beta for now
* Sat Feb 7 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.1.beta
- update to new upstream beta release
- drop beta release 1.3.2 from package
* Sun Dec 14 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.2.beta
- add Kevin Koflers portaudio patch to allow output via pulseaudio
* Sun Nov 23 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.1.beta
- update to new upstream beta release
- drop libdir patch for now
- drop upstreamed fr.po patch
- add support for ffmpeg import and export via BR and --with-ffmpeg
- add patch to allow selection of ffmpeg library on unix.
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.4.beta
- mod patch2 apply command
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.3.beta
- add Requires lame-libs
- update 1.3.4-gcc43.patch to suit 1.3.5, since patch mostly upstreamed.
* Mon Aug 18 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.2.beta
- rename spec and Name to audacity-freeworld.
- add provides/obsoletes audacity-nonfree.
- import livna package into rpmfusion.
* Sun Jun 8 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.5-0.1.beta
- fix bad fr.po that makes Fichier>Open dialog too wide
- sync with F-9 updates-testing
- update to 1.3.5-beta
- tmp patch merged upstream
- expat2 patch merged upstream
- desktop-file: drop deprecated Encoding, drop Icon file extension
* Fri May 9 2008 Michael Schwendt <mschwendt@users.sf.net>
- scriptlets: run update-desktop-database without path
- drop scriptlet dependencies
* Sat May 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.7.20080123cvs
- check ownership of temporary files directory (#436260) (CVE-2007-6061)
* Sat Apr 12 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.6.20080123cvs
- set a default location for libmp3lame.so.0 again
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.5.20080123cvs
- package the old 1.3.2-beta and a post 1.3.4-beta snapshot in the
same package -- users may stick to the older one, but please help
with evaluating the newer one
- merge packaging changes from my 1.3.3/1.3.4 test packages:
- build newer release with wxGTK 2.8.x
- BR soundtouch-devel and --with-soundtouch=system
- drop obsolete patches: resample, mp3 export, destdir, FLAC, fr
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.9.beta
- make soundtouch and allegro build with RPM optflags
* Sun Feb 10 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.8.beta
- rawhide: patch for JACK 0.109.0 API changes (jack_port_lock/unlock removal).
- rebuilt for GCC 4.3 as requested by Fedora Release Engineering
- subst _libdir in ladspa plugin loader
* Thu Jan 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.7.beta
- Patch for GCC 4.3.0 C++.
* Fri Nov 16 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.6.beta
- rebuilt for FLAC 1.1.4 -> 1.2.x upgrade, which broke FLAC import
* Mon Mar 5 2007 Michael Schwendt <mschwendt@users.sf.net>
- add umask 022 to scriptlets
* Sat Mar 3 2007 Michael Schwendt <mschwendt[ATusers.sf.net> - 1.3.2-0.5.beta
- build with wxGTK 2.6 compatibility package
* Sat Feb 24 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.4.beta
- patch for FLAC 1.1.4 API compatibility
- patch ExportMP3.cpp (MPEG-2 Layer III bitrates resulted in
broken/empty files)
* Tue Feb 20 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.3.beta
- patch app init to set a default location for libmp3lame.so.0
- fix the libmp3lame.so.0 subst
- subst _libdir in libmp3lame search
- use sed instead of perl
* Sun Feb 18 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.2.beta
- patch the source to use libsamplerate actually and fix Resample.cpp
* Thu Feb 15 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.1.beta
- sync with Fedora Extras 6 upgrade to 1.3.2-beta
- add BR expat-devel jack-audio-connection-kit-devel alsa-lib-devel
- built-in/patched: nyquist soundtouch
- built-in/patched, n/a: twolame
- adjust configure options accordingly
- patches 1-3 unnecessary, add gemi's audacity-1.3.2-destdir.patch
- make patch from iconv src/Languages.cpp conversion (ISO Latin-1 to UTF-8)
- make patch for locale/fr.po (MAC to ISO Latin-1)
* Wed Oct 18 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.3.b.2
- rename to "audacity-nonfree" and "Conflicts: audacity"
* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info>
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
* Sun Sep 24 2006 Michael Schwendt <mschwendt[At]users.sf.net>
- rebuild
* Sat Jun 3 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.2.b
- bump and rebuild
* Fri Mar 17 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.1.b
- Update to 1.2.4b (stable release).
- Follow upstream recommendation and use the GTK+ 1.x wxGTK.
This is because of various issues with fonts/layout/behaviour.
- Build with compat-wxGTK-devel.
- Modify build section to find wx-2.4-config instead of wx-config.
* Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- switch to new release field
* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- add dist
* Wed Jul 20 2005 Michael Schwendt <mschwendt@users.sf.net> - 1.2.3-5.lvn.1
- Sync with minor changes in Fedora Extras 4 package.
- Drop Epoch and bump release so this is high enough for an upgrade.
* Fri May 20 2005 David Woodhouse <dwmw2@infradead.org> - 1.2.3-4
- Add more possible MIME types for ogg which may be seen even though
they're not standard.
* Sun Jan 30 2005 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.3-1.lvn.1
- Build with mp3 and wxGTK2 by default,
- Make the libmp3lame perl substitution in %%prep more robust.
- s/Fedora/Livna/ in desktop file.
* Sat Nov 20 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.3-1
- New Version 1.2.3
* Sat Oct 30 2004 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.2-0.fdr.1
- Update to 1.2.2, patch aboutdialog to be readable with wxGTK.
* Mon May 10 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.1-0.fdr.1
- New Version 1.2.1
* Sun Apr 11 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2
- Fix for Language.cpp restored
* Tue Mar 2 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1
- New Version 1.2.0
* Mon Nov 24 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.4.pre3
- Added icon
- Separated mp3 plugin
* Sun Nov 23 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2.pre3
- Changes to specfile
* Sun Nov 2 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1.pre3
- New upstream version 1.2.0-pre3
* Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1
- First Fedora release
-4
View File
@@ -1,4 +0,0 @@
rpm.global("ver", gh("audacity/audacity"));
if rpm.changed() {
rpm.release();
}
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "authy.spec"
}
}
+41
View File
@@ -0,0 +1,41 @@
Name: authy
Version: 2.2.2
Release: 2%{?dist}
Summary: Two factor authentication desktop application
License: Unknown
URL: https://authy.com/
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_12.snap
Requires: gtk3
Requires: nss
BuildRequires: squashfs-tools
%description
%{summary}.
%prep
unsquashfs -q -f -d snap %{SOURCE0}
%build
%install
install -d "%{buildroot}/opt/authy"
cp -r "snap/." "%{buildroot}/opt/authy"
sed -i 's|${SNAP}/meta/gui/icon.png|authy|g' "%{buildroot}/opt/authy/meta/gui/authy.desktop"
install -Dm644 "%{buildroot}/opt/authy/meta/gui/authy.desktop" -t "%{buildroot}/usr/share/applications"
install -Dm644 "%{buildroot}/opt/authy/meta/gui/icon.png" "%{buildroot}/usr/share/pixmaps/authy.png"
rm -rf "%{buildroot}/opt/authy"/{data-dir,gnome-platform,lib,meta,scripts,usr,*.sh}
install -d "%{buildroot}/usr/bin"
ln -s "/opt/authy/authy" "%{buildroot}/usr/bin"
%files
/opt/authy/
/usr/bin/authy
/usr/share/applications/authy.desktop
/usr/share/pixmaps/authy.png
%changelog
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Initial release
+5
View File
@@ -0,0 +1,5 @@
let req = new_req("https://api.snapcraft.io/v2/snaps/info/authy");
req.head("Snap-Device-Series", "16");
let obj = json(req.get())["channel-map"][0];
rpm.version(obj.version);
rpm.source(0, obj.download.url);
-6
View File
@@ -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
-5
View File
@@ -1,5 +0,0 @@
let v = gh("bitwarden/clients");
if v.starts_with("cli-v") {
v.crop(5);
rpm.version(v);
}
-8
View File
@@ -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
-3
View File
@@ -1,3 +0,0 @@
import "andax/bump_extras.rhai" as bump;
rpm.version(bump::madoguchi("bitwarden-cli.bin", labels.branch));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "chdig.spec"
}
}
-35
View File
@@ -1,35 +0,0 @@
%undefine __brp_mangle_shebangs
Name: chdig
Version: 25.11.2
Release: 1%?dist
Summary: Dig into ClickHouse with TUI interface
URL: https://github.com/azat/chdig
Source0: %url/archive/refs/tags/v%{version}.tar.gz
License: MIT
BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold clang fontconfig-devel glib2 libgcc
%description
%{summary}.
%prep
%autosetup -n %{name}-%{version}
%cargo_prep_online
%build
%cargo_build
%install
install -Dm755 target/rpm/chdig %{buildroot}%{_bindir}/chdig
%cargo_license_summary_online
%{cargo_license_online -a} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/chdig
%changelog
* Fri Nov 14 2025 Owen Zimmerman <owen@fyralabs.com>
- Intial Commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("azat/chdig"));
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "coolercontrol.spec"
}
labels {
large = 1
}
}
-157
View File
@@ -1,157 +0,0 @@
%bcond_without mold
%global _desc %{expand:
CoolerControl is a feature-rich cooling device control application for Linux. It has a system daemon
for background device management, as well as a GUI to expertly customize your settings.
}
%global rdnn org.coolercontrol.CoolerControl
# Don't mangle shebangs
%global __brp_mangle_shebangs %{nil}
Name: coolercontrol
Version: 3.0.2
Release: 1%?dist
Summary: Cooling device control for Linux
License: GPL-3.0-or-later
URL: https://gitlab.com/coolercontrol/coolercontrol
Source0: %url/-/archive/%version/coolercontrol-%version.tar.gz
Packager: madonuko <mado@fyralabs.com>
Provides: coolercontrol-ui
Provides: coolercontrol-gui
Requires: hicolor-icon-theme
Requires: webkit2gtk4.1
Requires: libappindicator-gtk3
Requires: coolercontrold
BuildRequires: nodejs-npm libdrm-devel curl wget file mold
BuildRequires: systemd-rpm-macros anda-srpm-macros cargo >= 1.75.0 cargo-rpm-macros
BuildRequires: binutils bison cmake flex gcc gcc-c++ libtool strace
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6WebEngineWidgets)
%description %_desc
%package liqctld
Summary: CoolerControl daemon for interacting with liquidctl devices on a system level
Requires: coolercontrold
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
%description liqctld %_desc
coolercontrol-liqctld is a CoolerControl daemon for interacting with liquidctl devices on a system level, and is
installed as the coolercontrol-liqctld application. Its main purpose is to wrap the underlying
liquidctl library providing an API interface that the main coolercontrol daemon interacts with.
It also enables parallel device communication and access to specific device properties.
%package -n coolercontrold
Summary: Monitor and control your cooling devices.
Requires: coolercontrol-liqctld
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
BuildRequires: libappindicator-gtk3-devel
%description -n coolercontrold %_desc
coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
"coolercontrold". It is meant to run in the background as a system daemon. It handles all device
communication and data management, additionally connecting to the liqctld daemon for liquidctl
supported devices. It has an API that services client programs like the coolercontrol-gui.
%prep
%autosetup
pushd coolercontrold
%cargo_prep_online &
popd
pushd coolercontrol-ui
npm ci --prefer-offline &
popd
wait
%build
pushd coolercontrol-ui
npm run build-only &
popd
pushd coolercontrol-liqctld
%pyproject_wheel
popd
pushd coolercontrol
%cmake
%cmake_build &
popd
pushd coolercontrold
%{cargo_license_online} > LICENSE.dependencies &
wait
cp -rfp ../coolercontrol-ui/dist/* resources/app/
%cargo_build
popd
%install
pushd coolercontrol-liqctld
#define _pyproject_wheeldir .
%pyproject_install
%pyproject_save_files coolercontrol_liqctld
popd
pushd coolercontrold
install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
popd
pushd coolercontrol/
%cmake_install
popd
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
desktop-file-install --dir=%buildroot%_datadir/applications packaging/metadata/%rdnn.desktop
install -Dpm644 packaging/metadata/%rdnn.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn.svg
install -Dpm644 packaging/metadata/%rdnn.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn.svg
for f in packaging/systemd/*.service; do
install -Dpm644 $f %buildroot%_unitdir/$(basename $f)
done
install -Dpm644 packaging/metadata/%rdnn.metainfo.xml %buildroot%_metainfodir/%rdnn.metainfo.xml
%check
appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
%pyproject_check_import
%post -n coolercontrold
%systemd_post coolercontrold.service
%preun -n coolercontrold
%systemd_preun coolercontrold.service
%postun -n coolercontrold
%systemd_postun_with_restart coolercontrold.service
# coolercontrold.service automatically uses the liqctld service, so there are
# no scriptlets for liqctld.
%files
%doc README.md
%license LICENSE
%_bindir/coolercontrol
%_datadir/applications/%rdnn.desktop
%_datadir/metainfo/%rdnn.metainfo.xml
%_iconsdir/hicolor/*/apps/%rdnn.svg
%files -n coolercontrold
%doc coolercontrold/README.md
%license LICENSE
%license LICENSE.dependencies
%_bindir/coolercontrold
%_unitdir/coolercontrold.service
%files liqctld -f %pyproject_files
%doc coolercontrol-liqctld/README.md
%license LICENSE
%_bindir/coolercontrol-liqctld
%_unitdir/coolercontrol-liqctld.service
%changelog
* Thu Aug 15 2024 madonuko <mado@fyralabs.com> - 1.4.0-1
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(gitlab("30707566"));
+3 -4
View File
@@ -1,6 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord-canary-openasar.spec"
}
rpm {
spec = "discord-canary-openasar.spec"
}
}
@@ -1,29 +1,19 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.814
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
Version: 0.0.147
Release: 1%{?dist}
Summary: OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and include more features like further customization and theming
License: MIT and https://discord.com/terms
URL: https://github.com/GooseMod/OpenAsar
Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/discord-canary-%{version}.tar.gz
Source1: %{url}/releases/download/nightly/app.asar
Group: Applications/Internet
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Requires: libatomic, glibc, alsa-lib, GConf2, libnotify, nspr >= 4.13, nss >= 3.27, libstdc++, libX11 >= 1.6, libXtst >= 1.2, libappindicator, libcxx, libXScrnSaver
ExclusiveArch: x86_64
%description
OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and
include more features like further customization and theming.
%{summary}.
%prep
%autosetup -n DiscordCanary
@@ -34,20 +24,17 @@ sed "s@Discord Canary@Discord Canary OpenAsar@g" a > discord-canary.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary-openasar
cp -rv * %{buildroot}%{_datadir}/discord-canary-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary-openasar/discord-canary.desktop %{buildroot}%{_datadir}/applications/discord-canary-openasar.desktop
ln -s %_datadir/discord-canary-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary-openasar.png
install discord-canary.desktop %{buildroot}%{_datadir}/applications/discord-canary-openasar.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-canary-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-canary-openasar/resources -R
ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord-canary-openasar
%files
%_bindir/discord-canary-openasar
%{_datadir}/discord-canary-openasar/
%{_datadir}/applications/discord-canary-openasar.desktop
%{_datadir}/pixmaps/discord-canary-openasar.png
@@ -60,4 +47,4 @@ ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord
- Bundle discord-canary
* Thu Oct 20 2022 Cappy Ishihara <cappy@cappuchino.xyz>
-
-
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/canary/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download/canary?platform=linux&format=tar.gz");
let newver = find("https://dl-canary\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
+3 -4
View File
@@ -1,6 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord-canary.spec"
}
rpm {
spec = "discord-canary.spec"
}
}
+8 -16
View File
@@ -1,42 +1,34 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.814
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
Version: 0.0.147
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers.
URL: discord.com
Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/discord-canary-%{version}.tar.gz
License: https://discord.com/terms
Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1.2
Requires: libatomic, glibc, alsa-lib, GConf2, libnotify, nspr >= 4.13, nss >= 3.27, libstdc++, libX11 >= 1.6, libXtst >= 1.2, libappindicator, libcxx, libXScrnSaver
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a worldwide art community. Where just you and a handful of friends can spend time together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordCanary
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary
cp -rv * %{buildroot}%{_datadir}/discord-canary
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
ln -s %_datadir/discord/DiscordCanary %buildroot%_bindir/discord-canary
install discord-canary.desktop %{buildroot}%{_datadir}/applications/discord-canary.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
%files
%_bindir/discord-canary
%{_datadir}/discord-canary/
%{_datadir}/applications/discord-canary.desktop
%{_datadir}/pixmaps/discord-canary.png
+3 -1
View File
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/canary/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download/canary?platform=linux&format=tar.gz");
let newver = find("https://dl-canary\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
-1
View File
@@ -1,5 +1,4 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord-openasar.spec"
}
@@ -1,29 +1,19 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.116
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
Version: 0.0.24
Release: 1%{?dist}
Summary: OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and include more features like further customization and theming
License: MIT and https://discord.com/terms
URL: https://github.com/GooseMod/OpenAsar
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
Source1: %{url}/releases/download/nightly/app.asar
Group: Applications/Internet
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Requires: libatomic, glibc, alsa-lib, GConf2, libnotify, nspr >= 4.13, nss >= 3.27, libstdc++, libX11 >= 1.6, libXtst >= 1.2, libappindicator, libcxx, libXScrnSaver
ExclusiveArch: x86_64
%description
OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and
include more features like further customization and theming.
%{summary}.
%prep
%autosetup -n Discord
@@ -34,20 +24,17 @@ sed "s@Discord@Discord OpenAsar@g" a > discord.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-openasar
cp -rv * %{buildroot}%{_datadir}/discord-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-openasar/discord.desktop %{buildroot}%{_datadir}/applications/discord-openasar.desktop
ln -s %_datadir/discord-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-openasar.png
install discord.desktop %{buildroot}%{_datadir}/applications/discord-openasar.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-openasar/resources -R
ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
%files
%_bindir/discord-openasar
%{_datadir}/discord-openasar/
%{_datadir}/applications/discord-openasar.desktop
%{_datadir}/pixmaps/discord-openasar.png
+3 -1
View File
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/stable/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download?platform=linux&format=tar.gz");
let newver = find("https://dl\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
+4 -4
View File
@@ -1,6 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord-ptb-openasar.spec"
}
rpm {
spec = "discord-ptb-openasar.spec"
update = ""
}
}
@@ -1,29 +1,19 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.168
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
Version: 0.0.39
Release: 1%{?dist}
Summary: OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and include more features like further customization and theming
License: MIT and https://discord.com/terms
URL: https://github.com/GooseMod/OpenAsar
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz
Source1: %{url}/releases/download/nightly/app.asar
Group: Applications/Internet
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Requires: libatomic, glibc, alsa-lib, GConf2, libnotify, nspr >= 4.13, nss >= 3.27, libstdc++, libX11 >= 1.6, libXtst >= 1.2, libappindicator, libcxx, libXScrnSaver
ExclusiveArch: x86_64
%description
OpenAsar is a rewrite of part of Discord's desktop code, making it snappier and
include more features like further customization and theming.
%{summary}.
%prep
%autosetup -n DiscordPTB
@@ -34,22 +24,17 @@ sed "s@Discord Ptb@Discord Ptb OpenAsar@g" a > discord-ptb.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb-openasar
cp -rv * %{buildroot}%{_datadir}/discord-ptb-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb-openasar/discord-ptb.desktop %{buildroot}%{_datadir}/applications/discord-ptb-openasar.desktop
ln -s %_datadir/discord-ptb-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb-openasar.png
install discord-ptb.desktop %{buildroot}%{_datadir}/applications/discord-ptb-openasar.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-ptb-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-ptb-openasar/resources -R
ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-openasar
%files
%_bindir/discord-ptb-openasar
%{_datadir}/discord-ptb-openasar/
%{_datadir}/applications/discord-ptb-openasar.desktop
%{_datadir}/pixmaps/discord-ptb-openasar.png
+3 -1
View File
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/ptb/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download/ptb?platform=linux&format=tar.gz");
let newver = find("https://dl-ptb\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
+3 -4
View File
@@ -1,6 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord-ptb.spec"
}
rpm {
spec = "discord-ptb.spec"
}
}
+7 -20
View File
@@ -1,27 +1,17 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.168
Release: 1%?dist
Version: 0.0.39
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
URL: discord.com
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz
License: https://discord.com/terms
Requires: glibc GConf2
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
Requires: libXtst >= 1.2
Requires: libatomic, glibc, alsa-lib, GConf2, libnotify, nspr >= 4.13, nss >= 3.27, libstdc++, libX11 >= 1.6, libXtst >= 1.2, libappindicator, libcxx, libXScrnSaver
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a worldwide art community. Where just you and a handful of friends can spend time together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordPTB
@@ -30,17 +20,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb
cp -rv * %{buildroot}%{_datadir}/discord-ptb
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
install discord-ptb.desktop %{buildroot}%{_datadir}/applications/discord-ptb.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
%files
%_bindir/discord-ptb
%{_datadir}/discord-ptb/
%{_datadir}/applications/discord-ptb.desktop
%{_datadir}/pixmaps/discord-ptb.png
+3 -1
View File
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/ptb/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download/ptb?platform=linux&format=tar.gz");
let newver = find("https://dl-ptb\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
-1
View File
@@ -1,5 +1,4 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "discord.spec"
}
+11 -17
View File
@@ -1,18 +1,13 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.116
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
Version: 0.0.24
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers.
URL: discord.com
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
License: https://discord.com/terms
Requires: glibc GConf2
Requires: libatomic glibc alsa-lib GConf2 libnotify libstdc++ libappindicator libcxx libXScrnSaver
Requires: nspr >= 4.13
Requires: nss >= 3.27
Requires: libX11 >= 1.6
@@ -20,8 +15,10 @@ Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group,
or a worldwide art community. Where just you and a handful of friends
can spend time together. A place that makes it easy to talk every day
and hang out more often.
%prep
%autosetup -n Discord
@@ -30,17 +27,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord
cp -rv * %{buildroot}%{_datadir}/discord
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
install discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
install discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
%files
%_bindir/discord
%{_datadir}/discord/
%{_datadir}/applications/discord.desktop
%{_datadir}/pixmaps/discord.png
+3 -1
View File
@@ -1 +1,3 @@
rpm.version(get("https://discord.com/api/stable/updates?platform=linux").json().name);
let html = get("https://discordapp.com/api/download?platform=linux&format=tar.gz");
let newver = find("https://dl\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
rpm.version(newver);
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "dorion.spec"
}
}
-63
View File
@@ -1,63 +0,0 @@
%undefine __brp_mangle_shebangs
Name: dorion
Version: 6.11.0
Release: 1%?dist
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
SourceLicense: GPL-3.0-only
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT)
URL: https://spikehd.dev/projects/dorion
Source0: https://github.com/SpikeHD/Dorion/archive/refs/tags/v%version.tar.gz
Source1: https://raw.githubusercontent.com/uwu/shelter-builds/main/shelter.js
Packager: madonuko <mado@fyralabs.com>
BuildRequires: pnpm rpm_macro(cargo_install) rust-packaging
BuildRequires: cmake gcc-c++
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1)
BuildRequires: pkgconfig(openssl)
%description
Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more!
%prep
%autosetup -n Dorion-%version
pnpm i
cat<<EOF > Dorion.desktop
[Desktop Entry]
Categories=Network;
Exec=Dorion
Icon=Dorion
Name=Dorion
Terminal=false
Type=Application
MimeType=x-scheme-handler/discord
EOF
cd src-tauri
%cargo_prep_online
cp %{S:1} injection/shelter.js
%build
pnpm run build:js
cd src-tauri
cd extension_webkit
%cmake
%cmake_build
cp %__cmake_builddir/libextension.so .
cd ..
%cargo_license_summary_online
%{cargo_license_online} > ../LICENSE.dependencies
%install
install -Dpm655 Dorion.desktop -t %buildroot%_datadir/applications
cd src-tauri
%cargo_install
install -Dpm644 icons/icon.png %buildroot%_iconsdir/hicolor/512x512/apps/Dorion.png
%files
%doc README.md
%license LICENSE LICENSE.dependencies
%_bindir/Dorion
%_iconsdir/hicolor/512x512/apps/Dorion.png
%_datadir/applications/Dorion.desktop
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_rawfile("SpikeHD/Dorion", "main", "package.json").json().version);
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "envision.spec"
}
labels {
nightly = 1
}
}
-64
View File
@@ -1,64 +0,0 @@
%global commit 9615228a515fd77abb0cab5de21528f1f33d26f6
%global commit_date 20251104
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly
Version: %commit_date.%shortcommit
Release: 1%?dist
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
SourceLicense: AGPL-3.0-or-later
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND AGPL-3.0-or-later 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 Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND ISC AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib
URL: https://gitlab.com/gabmus/envision/
Source0: %url/-/archive/%commit/envision-%commit.tar.gz
BuildRequires: anda-srpm-macros
BuildRequires: cargo
BuildRequires: cargo-rpm-macros
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: pkgconfig(glib-2.0) >= 2.66
BuildRequires: pkgconfig(gio-2.0) >= 2.66
BuildRequires: pkgconfig(gtk4) >= 4.10.0
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: openxr-devel
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: glib2-devel
BuildRequires: git-core
Recommends: android-tools
Conflicts: envision
%description
%summary.
%prep
%autosetup -n envision-%commit
%cargo_prep_online
%build
# generate constants.rs from constants.rs.in
%meson
# skip subdir
sed -E "/^subdir\('src'\)/d" -i meson.build
%meson --reconfigure
%meson_build
%install
%meson_install
%cargo_install
%{cargo_license_online} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%_bindir/envision
%_datadir/applications/org.gabmus.envision.Devel.desktop
%_datadir/envision/
%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.Devel.svg
%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision.Devel-symbolic.svg
%_metainfodir/org.gabmus.envision.Devel.appdata.xml
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gitlab_commit("gitlab.com", "46446166", "main"));
if rpm.changed() {
rpm.global("commit_date", date());
rpm.release();
}
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "feishin.spec"
}
}
-70
View File
@@ -1,70 +0,0 @@
%define debug_package %nil
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.22.0
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
URL: https://github.com/jeffvli/feishin
Source0: %url/archive/refs/tags/v%version.tar.gz
Requires: fuse mpv
Packager: madonuko <mado@fyralabs.com>
BuildRequires: jq libxcrypt-compat pnpm
%description
%summary.
%prep
%autosetup
cat package.json | jq '.author += { "email": "jeffvictorli@gmail.com" }' | jq '.build.linux += { "maintainer": "mado@fyralabs.com", "vendor": "Fyra Labs Terra" }' > a
mv a package.json
cat package.json
cat<<EOF > feishin.desktop
[Desktop Entry]
Type=Application
Name=Feishin
Comment=Rewrite of Sonixd
Exec=/usr/bin/feishin
Icon=feishin
Terminal=false
Categories=Network;Audio;Music
Keywords=Music;Jellyfin;Audio;Stream;Sonixd
EOF
%build
pnpm i
pnpm run postinstall
pnpm run build
%ifarch x86_64
%define a linux
%elifarch aarch64
%define a arm64
%endif
pnpm exec electron-builder --linux dir --%a
%install
mkdir -p %buildroot%_datadir/{pixmaps,applications} %buildroot%_bindir
mv dist/*-unpacked %buildroot%_datadir/feishin
install -Dm644 assets/icons/icon.png %buildroot%_datadir/pixmaps/feishin.png
ln -s %_datadir/feishin/feishin %buildroot%_bindir/feishin
install -Dm644 feishin.desktop %buildroot%_datadir/applications/
%files
%doc README.md CHANGELOG.md
%license LICENSE
%_bindir/feishin
%_datadir/feishin/
%_datadir/applications/feishin.desktop
%_datadir/pixmaps/feishin.png
%changelog
%autochangelog
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("jeffvli/feishin"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "flameshot.qt5.spec"
}
}
-110
View File
@@ -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}/
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "flameshot-nightly.spec"
}
labels {
nightly = 1
}
}
-102
View File
@@ -1,102 +0,0 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 13.3.0
%global commit 7ed3cfc83eda4bd33f5044041075689bb517a314
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20251130
%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
Release: 2%?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: 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
Requires: hicolor-icon-theme
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})
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.
%pkg_completion -Bfz flameshot
%package devel
Requires: %{name} = %{version}
%pkg_devel_files
%_libdir/cmake/*/
%package libs
%pkg_libs_files
%package static
%pkg_static_files
%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
%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
%doc README.md
%license LICENSE
%dir %{_datadir}/flameshot
%dir %{_datadir}/flameshot/translations
%{_bindir}/flameshot
%{_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*
-7
View File
@@ -1,7 +0,0 @@
rpm.global("commit", gh_commit("flameshot-org/flameshot"));
if rpm.changed() {
let v = gh("flameshot-org/flameshot");
v.crop(1);
rpm.global("ver", v);
rpm.global("commit_date", date());
}
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "flatpost.spec"
}
}
-74
View File
@@ -1,74 +0,0 @@
Name: flatpost
Version: 1.1.1
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
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: make
BuildRequires: desktop-file-utils
Provides: nobara-updater
# App Deps
Requires: python
Requires: python3
Requires: python3-gobject
Requires: python3-requests
Requires: python3-pillow
Requires: python3-svgwrite
Requires: python3-fonttools
Requires: python3-numpy
Requires: flatpak
Requires: glib2
Requires: gtk3
Requires: gtk4
Requires: xdg-utils
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
Requires(posttrans): shared-mime-info
%description
Desktop environment agnostic Flathub software center. Allows for browsing,
installation, removal, updating, and permission management of flatpak packages and repositories.
%prep
%autosetup -p1
%build
make all DESTDIR=%{buildroot}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%post
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%postun
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%posttrans
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%files
%{python3_sitelib}/flatpost/
%{_bindir}/flatpost
%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%{_datadir}/flatpost/collections_data.json
%{_datadir}/icons/hicolor/1024x1024/apps/com.flatpost.flatpostapp.png
%{_datadir}/icons/hicolor/64x64/apps/com.flatpost.flatpostapp.png
%{_datadir}/mime/packages/flatpost.xml
%license %{_datadir}/licenses/flatpost/LICENSE
-3
View File
@@ -1,3 +0,0 @@
let v = gh_rawfile("GloriousEggroll/flatpost", "main", "VERSION.txt");
v.trim();
rpm.version(v);
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "fontviewer.spec"
}
}
-40
View File
@@ -1,40 +0,0 @@
Name: fontviewer
Epoch: 1
Version: 1.2.0
Release: 1%?dist
Summary: View and install fonts
License: GPL-2.0
URL: https://github.com/chocolateimage/%{name}
Source0: %{url}/archive/v%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: json-glib-devel
Requires: gtk3 fontconfig
Packager: sadlerm <sad_lerm@hotmail.com>
%description
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%prep
%autosetup
%build
%meson
%meson_build
%install
%meson_install
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/actions/%{name}-google-symbolic.svg
-4
View File
@@ -1,4 +0,0 @@
rpm.version(gh("chocolateimage/fontviewer"));
if rpm.changed() {
rpm.release();
}
-9
View File
@@ -1,9 +0,0 @@
project pkg {
rpm {
spec = "goofcord-nightly.spec"
}
labels {
mock = 1
nightly = 1
}
}
@@ -1,101 +0,0 @@
%global commit 3f5eda113f33fead76a5a53e0b71c11b254d68fd
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250615
%global ver 1.10.1
%global base_name goofcord
%global git_name GoofCord
%global debug_package %{nil}
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: %{base_name}-nightly
Version: %{ver}^%{commit_date}.git.%{shortcommit}
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/%{commit}/%{git_name}-%{commit}.tar.gz
BuildRequires: bun-bin
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
%ifarch aarch64
BuildRequires: zlib-ng-compat-devel
%endif
Packager: Gilver E. <rockgrub@disroot.org>
%description
A highly configurable and privacy minded Discord client.
%prep
%autosetup -n %{git_name}-%{commit}
%build
%ifarch aarch64 armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
bun install
bun run packageLinux --publish=never
%install
mkdir -p %{buildroot}%{_datadir}/%{git_name}
%ifarch x86_64
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch aarch64
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch armv7hl armv7l
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/%{git_name}/%{git_name} %{buildroot}%{_bindir}/%{git_name}
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%ifarch x86_64
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
%elifarch aarch64
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
%elifarch armv7hl armv7l
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
%endif
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{git_name}/%{git_name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{git_name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{git_name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{git_name}
%{_datadir}/applications/%{git_name}.desktop
%{_datadir}/%{git_name}/
%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1^20250615.git.3f5eda1
- Initial package
-8
View File
@@ -1,8 +0,0 @@
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
if rpm.changed {
let v = gh_tag("Milkshiift/GoofCord");
v.crop(1);
rpm.global("ver", v);
rpm.global("commit_date", date());
rpm.release();
}

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