mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
Compare commits
525 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dcd54f77cc | |||
| 2cd0dc5092 | |||
| ae1328509f | |||
| a750ce7e61 | |||
| d3b0a7ab89 | |||
| f97b09664e | |||
| 73194c4bc4 | |||
| fcf8fa6cd3 | |||
| 9e9b92579e | |||
| 302bf7cb85 | |||
| c13980e92c | |||
| c2afd077df | |||
| 4a9b92d3c4 | |||
| b5fc37ed4a | |||
| 52c91989b5 | |||
| 4e7ea509d1 | |||
| 56bd42b9b0 | |||
| 97c8cbffdf | |||
| d9f6e3b65d | |||
| 0623bf109b | |||
| 8f5706969b | |||
| 077923ab81 | |||
| 1c63ca716f | |||
| 3e206b9e94 | |||
| c31236a38c | |||
| 56e11d58c0 | |||
| 6f9767684e | |||
| eae493edb7 | |||
| 07dc39eaf5 | |||
| fe26a9a6e2 | |||
| afc438fc56 | |||
| 7369f6768c | |||
| e9f47a9ebf | |||
| cf62bbf0a9 | |||
| d59085804a | |||
| 4ad1aaf288 | |||
| d92cb834a5 | |||
| bf2a0474f5 | |||
| 3146e3c2c7 | |||
| 2bbb7fbc82 | |||
| 7625e2f72d | |||
| 96d8cfa790 | |||
| 23159158cf | |||
| a417eac112 | |||
| c05dc2b7ba | |||
| e13a30368f | |||
| 5934928171 | |||
| 9353c011e8 | |||
| a293948a9b | |||
| c3c4d397d7 | |||
| b70dd77b06 | |||
| 8a6eaa9bdc | |||
| b6338ad485 | |||
| 6f137b8e98 | |||
| da42fb228a | |||
| 236f6118c0 | |||
| 5094d7f193 | |||
| b0e7373a8e | |||
| c009dd366f | |||
| 83203ed8b4 | |||
| fdde79888d | |||
| ace7240c39 | |||
| 349542311f | |||
| 7b152f757c | |||
| d4edbe4405 | |||
| f97defb66d | |||
| d0fb626c57 | |||
| bc1e0e809d | |||
| b3c4263431 | |||
| 837945f44b | |||
| 1e4b54bcb3 | |||
| f3fb7a9bbb | |||
| 6946a9f524 | |||
| c0cdbf31f4 | |||
| 9a097b7803 | |||
| a906281d9b | |||
| b0c9058824 | |||
| feef30719c | |||
| ab9fbaeba6 | |||
| 3f058d5cf3 | |||
| f73c6cbce4 | |||
| 7397bcfea7 | |||
| b7da9222ca | |||
| 9d50c8ce84 | |||
| 6e4d0b3c56 | |||
| fdef39959b | |||
| 297890829b | |||
| 1310e4a944 | |||
| 595b682989 | |||
| 9a784b4045 | |||
| 4aa3e6a8dd | |||
| 3b64de9dac | |||
| fac3ebc2c6 | |||
| e0c4733510 | |||
| 6cb3ea9116 | |||
| 1ea05d0215 | |||
| 5942849be9 | |||
| 77942e5f10 | |||
| 0a722fdbb5 | |||
| cf17c44ba7 | |||
| 4c81bf7881 | |||
| 7f6cee5a3c | |||
| f225ca30d9 | |||
| d56e43749d | |||
| 31eb891382 | |||
| a4e4c4917d | |||
| 524453156d | |||
| 8d66b4380a | |||
| 5f32238add | |||
| 52f9a0204b | |||
| b8769363e3 | |||
| 83155ed03f | |||
| dd3a80e398 | |||
| ea8a0a3448 | |||
| c41b09c207 | |||
| 55a90fd280 | |||
| a578808d8f | |||
| b11fa7f285 | |||
| fb2b9d8770 | |||
| bac8c4d818 | |||
| 07ef4d374e | |||
| c578ec1a8e | |||
| 004ef4ad94 | |||
| d3dc20b939 | |||
| 93ef1c43bc | |||
| d5f0a70897 | |||
| 1e7988c2aa | |||
| 3c35908af0 | |||
| ab9ff32187 | |||
| a5546ee1ee | |||
| 02f4fae72d | |||
| e63c1f9e8a | |||
| 7d8da28d49 | |||
| 4ecf83893f | |||
| f2ff9b6a8e | |||
| faed1a02e6 | |||
| 4df89ecdd2 | |||
| 3a630319ca | |||
| 2dd981e5ad | |||
| 6304c66ac6 | |||
| 8a954490bc | |||
| 71b69e3a81 | |||
| 06d95a8732 | |||
| 2bc7cfea31 | |||
| d19b10857b | |||
| 7c773b4ddc | |||
| 75cb32ad90 | |||
| 14e8ab1425 | |||
| 98a838decf | |||
| 79de31eb59 | |||
| fa078c3c22 | |||
| 3a4b399fef | |||
| 02f5eaf5fa | |||
| d2b98db999 | |||
| f37fb3667b | |||
| fb0501928c | |||
| 8ecc4343c4 | |||
| 3505a62d2d | |||
| 596da96692 | |||
| 5acfab7b4e | |||
| 67e451706c | |||
| 9c302390f4 | |||
| c54c574818 | |||
| d08b32b09f | |||
| fbe840fe97 | |||
| 21e50314c9 | |||
| 9d7edb3b19 | |||
| b236081538 | |||
| 783388cd5a | |||
| bf36b9953e | |||
| 2c0db0cead | |||
| 1cc4e06cb0 | |||
| 72b4ecc76a | |||
| 7f9ac0f7df | |||
| 5e063b3d22 | |||
| 34aa0a6fa7 | |||
| 4f2428ac8f | |||
| d0a8435d74 | |||
| 6fdd34f175 | |||
| a602050797 | |||
| cda66edc62 | |||
| 14872fd459 | |||
| 1be5ff79fb | |||
| 1b5bcf4178 | |||
| 05d1ba57d8 | |||
| 90c856a10f | |||
| 84028746f1 | |||
| 4fdc80bfd3 | |||
| 22db38fc89 | |||
| bf9f104c83 | |||
| 3a92d592b7 | |||
| 51a5ffdd05 | |||
| 7eb485faa9 | |||
| 0ec28475bf | |||
| 3844adaa5e | |||
| b5d7860af8 | |||
| 1299d5606d | |||
| ec5eb695d8 | |||
| 10a8b89f0f | |||
| 6578f2af42 | |||
| 55ca564a4a | |||
| 309640e1b3 | |||
| 4860564916 | |||
| 0fa19c27f5 | |||
| 19174e28f9 | |||
| 63d987f4f3 | |||
| ee88935973 | |||
| b9415017a1 | |||
| b001421349 | |||
| c3c71c0031 | |||
| fc59dbc699 | |||
| 0977ae8088 | |||
| 5e0bc894fb | |||
| 3ae61b9503 | |||
| 30cc5592ba | |||
| acce003618 | |||
| 8d59dacc01 | |||
| d1d0486050 | |||
| 540ea53fc3 | |||
| 8698a9ed87 | |||
| bd9d8fa75a | |||
| 0fdbf820e9 | |||
| 331df6cf30 | |||
| 8a78074f4d | |||
| cba38aa452 | |||
| aebd74aa1a | |||
| b339f890c4 | |||
| 20265c7c97 | |||
| a3488d3abd | |||
| 921cc2aa27 | |||
| b5d7e877be | |||
| ddac5a08e4 | |||
| 6e05b010bc | |||
| 9f7db83746 | |||
| 83133ccfc4 | |||
| f2ea9d71cf | |||
| 1550ab39dd | |||
| 0149973c96 | |||
| 50913d685d | |||
| d30c400219 | |||
| acc190b738 | |||
| 8c4df6f077 | |||
| a6cb496213 | |||
| 86002dee77 | |||
| 30731ce11c | |||
| 93f13d7669 | |||
| 2a0a571832 | |||
| 2d1721de0f | |||
| c9056c0b20 | |||
| a3a944a05d | |||
| 46dfae8723 | |||
| 026bb79e43 | |||
| 22769408c5 | |||
| 93fe41a173 | |||
| 4230fb7391 | |||
| 897b04d90e | |||
| 5c0ca3ea26 | |||
| 569905b8e6 | |||
| 666760444c | |||
| 491e6896d4 | |||
| 9242a633e9 | |||
| 406a8d5ec8 | |||
| af9cfe36fd | |||
| b1079f82a7 | |||
| 222d5eb694 | |||
| 9024fa83c2 | |||
| 5843b0ec2f | |||
| 755af3b669 | |||
| 36b6c00291 | |||
| 5da6eb85cb | |||
| d76ae47822 | |||
| bcfb83835f | |||
| bd915ceb95 | |||
| 9a7e9f24c5 | |||
| 2bfcd0d04c | |||
| e683618dd5 | |||
| 206b7e3113 | |||
| 8cc11f6280 | |||
| 52ebb4b7b9 | |||
| 28352c662a | |||
| 61d9e09a4a | |||
| 9d612216c0 | |||
| 2418d15c32 | |||
| 5828565f2d | |||
| a9e654dd73 | |||
| c22dd2e0ad | |||
| da3768b446 | |||
| 0990cc35bd | |||
| 71b9f68d6e | |||
| eb5c4bf538 | |||
| 8da22a5ea0 | |||
| 49ff5c0630 | |||
| 56bf51e9fb | |||
| 2b7c1d73a5 | |||
| 8e1cab3516 | |||
| 04a720dbec | |||
| fd2c3f899b | |||
| 9fc3c64c49 | |||
| e336652c5e | |||
| 120a22491b | |||
| 18e7189524 | |||
| c4c1ccabf4 | |||
| aa0ed40f57 | |||
| aec201a91a | |||
| 9b23c4cacd | |||
| 09795e64b7 | |||
| 32fa30d06c | |||
| 525f11d96c | |||
| f57e305b2e | |||
| 9dd5880edc | |||
| 3f503517e6 | |||
| 6896af5523 | |||
| 8646a811da | |||
| de35632171 | |||
| 15cbaf54be | |||
| 97818bc9da | |||
| ae46a69ab6 | |||
| a53f3bc707 | |||
| 0709cf3a60 | |||
| c49badae51 | |||
| abcd396736 | |||
| e61f00092e | |||
| 335b67cbf6 | |||
| c035b48ce5 | |||
| f40fc1b011 | |||
| 9bd3a5cf9a | |||
| 82dcfa52d2 | |||
| 78a2aa755d | |||
| 9fc231041c | |||
| fc84df9f90 | |||
| 02f6b28f71 | |||
| 618f7e23c9 | |||
| 63489eb225 | |||
| 87ea1c873c | |||
| 31ba669108 | |||
| 93a23a2ba5 | |||
| 4cd6082f57 | |||
| 5699a7d580 | |||
| 9fa9f5ae5f | |||
| b87c434c10 | |||
| a71f823b3f | |||
| 065f119211 | |||
| 2c0cc4c37c | |||
| 8892df2833 | |||
| 9bb9f67c00 | |||
| bfb2677fa5 | |||
| c2c62158b0 | |||
| afb0f71fe9 | |||
| 1b2a96e325 | |||
| 5d9dda911e | |||
| 03a95b5a3f | |||
| b65b8a3cd3 | |||
| e3cc12a922 | |||
| 3ae26da9af | |||
| 7f33d7f819 | |||
| 9fb915733f | |||
| fe10415617 | |||
| 1a236363f6 | |||
| b2bd055931 | |||
| b9bd9eba1a | |||
| 7c93ecf7e8 | |||
| d8dd8592e1 | |||
| bd84e5429f | |||
| 317b02f956 | |||
| ef96dfa487 | |||
| 13fbeaa2ba | |||
| 7e1b84999b | |||
| 0a0d2772e4 | |||
| 6694b1ec98 | |||
| cb8db97b67 | |||
| 7630bc4c43 | |||
| 1860875077 | |||
| 3fe587906a | |||
| f547e07832 | |||
| 583040e94a | |||
| da01b86545 | |||
| 3e16c180ff | |||
| 8dcfe57a58 | |||
| 83c74b63ee | |||
| 23d6abb76d | |||
| ce132f69cb | |||
| eaea3b73d4 | |||
| 37ce05a590 | |||
| 98821d0ae4 | |||
| 9c2b94abab | |||
| 59808d3aa8 | |||
| 630310b58f | |||
| 9c5274b579 | |||
| aa92f9c346 | |||
| 05a933b9f4 | |||
| 155d180cab | |||
| cfa13da172 | |||
| 983c49b4fe | |||
| d289d53f26 | |||
| 53313416f7 | |||
| 551e318a8e | |||
| 7a2044b793 | |||
| d9c0599dfa | |||
| d576151514 | |||
| fdabe4b5a5 | |||
| b9bc36c074 | |||
| c5ea68a102 | |||
| eeda208871 | |||
| fec639efb1 | |||
| e72031c8e3 | |||
| 01dd5f1a83 | |||
| 879704fd6f | |||
| 4af6b73e29 | |||
| ee45037074 | |||
| 2406cad9e4 | |||
| 089030084c | |||
| bcdefba45f | |||
| 47744a7125 | |||
| 30a1635ecb | |||
| f95747a29d | |||
| 762a41d5d7 | |||
| 9105fd46f1 | |||
| 63f08c8ac9 | |||
| f382d5ca97 | |||
| 0332362755 | |||
| 5469168088 | |||
| 5134c6ca10 | |||
| b01465770f | |||
| eb3de9f357 | |||
| bd04701d41 | |||
| 809a0a0025 | |||
| 07c5bfb888 | |||
| 4005fa53e4 | |||
| 79d8d49b7e | |||
| 042fe97f76 | |||
| 9933f68a0a | |||
| 367620e905 | |||
| 8ff320e7a1 | |||
| 55acf32f0d | |||
| da079a9cbe | |||
| bd3001742e | |||
| 9c20315a86 | |||
| ffff3ab3af | |||
| a1ecd6e953 | |||
| 26162394bc | |||
| 2eecaa8642 | |||
| 2c8ce0b20a | |||
| ec2208545c | |||
| 2d7c499b19 | |||
| 1a9d8d585d | |||
| 685977bce3 | |||
| 8481dd7232 | |||
| 02dbda5383 | |||
| 89ffb2bb0a | |||
| 7777be42d2 | |||
| c69217a663 | |||
| ee9aeebc63 | |||
| 13eb56a37b | |||
| a6a5cb0df3 | |||
| b71c6c0deb | |||
| c1d3bca9a1 | |||
| e83d2f6813 | |||
| 0e54cdadfe | |||
| 4f65fdba1b | |||
| e235d87acb | |||
| ece4de10c0 | |||
| 044dd57b33 | |||
| 19d89bd1e9 | |||
| eb3889db9f | |||
| 230e7361a9 | |||
| a5cd86aa88 | |||
| 3f9a306324 | |||
| 41775e17c7 | |||
| 5da482cd1f | |||
| dcc6a29d2f | |||
| 3bbed9121d | |||
| 36fc908546 | |||
| b9347a82c6 | |||
| 20b102dadd | |||
| 075c0c6460 | |||
| 0657ec828c | |||
| ce2f259242 | |||
| 10b69194eb | |||
| 0e5edc6c7f | |||
| 5861386293 | |||
| cb0cd31841 | |||
| c6d09f9d3b | |||
| 4be3240b97 | |||
| c7c77aa4e5 | |||
| b3bdcd580b | |||
| b64db4fe87 | |||
| bb126f8232 | |||
| 3f69d1570b | |||
| 386038db96 | |||
| 421f14d084 | |||
| cbce2a9d54 | |||
| 0e26c03937 | |||
| b8b0f2b7a7 | |||
| 42aaf0f2a8 | |||
| e07eab194b | |||
| 41041c7308 | |||
| 3a4489dcb9 | |||
| a2691aba81 | |||
| 7bc528fc5c | |||
| ec7e1ee4a4 | |||
| b7f53a7601 | |||
| 6ec9b8e733 | |||
| 9748a12175 | |||
| e3df444240 | |||
| 536b434c4d | |||
| f364b35373 | |||
| 7b23a31762 | |||
| 0297694078 | |||
| 36df79fe80 | |||
| 93a0a08716 | |||
| e2e93121e6 | |||
| a5cee13f40 | |||
| 826380a332 | |||
| e9194211a5 | |||
| dbfc56bd03 | |||
| 17c1359c24 | |||
| 2fc09dddc1 | |||
| 10935c2c77 | |||
| 097e33074b | |||
| f418d7bbf9 | |||
| 7556106577 | |||
| b7783314d7 | |||
| 5757d6c117 | |||
| cf87a858ac | |||
| 67b3f45ea2 |
@@ -6,13 +6,13 @@ on:
|
||||
paths:
|
||||
- anda/**
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
pull_request:
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
merge_group:
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
workflow_dispatch:
|
||||
workflow_call:
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
outputs:
|
||||
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f38
|
||||
image: ghcr.io/terrapkg/builder:f39
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Set workspace as safe
|
||||
@@ -40,11 +40,11 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
|
||||
version: ["38"]
|
||||
version: ["39"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f38
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version}}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /var/cache
|
||||
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
|
||||
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}
|
||||
|
||||
- name: Include custom build template instead of package default
|
||||
run: |
|
||||
@@ -94,63 +94,3 @@ jobs:
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: ( cancelled() || failure() ) && github.event_name == 'push'
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
|
||||
- name: Lint RPMs and SRPMs
|
||||
id: lint
|
||||
if: success()
|
||||
run: |
|
||||
echo 'LINT_ERR=false' >> $GITHUB_ENV
|
||||
rpmlint anda-build/ > rpmlint.txt || f=1
|
||||
if [[ $f -eq 1 ]]; then
|
||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
||||
echo "ESC_LINT_OUT<<$EOF" >> $GITHUB_ENV
|
||||
cat rpmlint.txt | sed 's/`/\\`/g' >> $GITHUB_ENV
|
||||
echo $EOF >> $GITHUB_ENV
|
||||
echo "lint_out<<$EOF" >> $GITHUB_ENV
|
||||
echo '```' >> $GITHUB_ENV
|
||||
cat rpmlint.txt >> $GITHUB_ENV
|
||||
echo '```' >> $GITHUB_ENV
|
||||
echo $EOF >> $GITHUB_ENV
|
||||
echo 'LINT_ERR=true' >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Try to install package
|
||||
id: dnf
|
||||
if: success()
|
||||
run: |
|
||||
echo 'INSTALL_ERR=false' >> $GITHUB_ENV
|
||||
touch out
|
||||
for f in anda-build/rpm/rpms/*.rpm; do
|
||||
dnf in --downloadonly -y $f > $f.dnfout.txt 2>&1 || fail=1
|
||||
if [[ $fail -eq 1 ]]; then
|
||||
echo "### $f" >> out
|
||||
echo '```' >> out
|
||||
cat $f.dnfout.txt >> out
|
||||
echo '```' >> out
|
||||
echo >> out
|
||||
echo 'INSTALL_ERR=true' >> $GITHUB_ENV
|
||||
fi
|
||||
done
|
||||
cat out
|
||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
||||
echo "ESC_DNF_OUT<<$EOF" >> $GITHUB_ENV
|
||||
cat out | sed 's/`/\\`/g' >> $GITHUB_ENV
|
||||
echo $EOF >> $GITHUB_ENV
|
||||
echo "dnf_out<<$EOF" >> $GITHUB_ENV
|
||||
cat out >> $GITHUB_ENV
|
||||
echo $EOF >> $GITHUB_ENV
|
||||
|
||||
- name: Generate RPMLint/DNF summary
|
||||
if: success()
|
||||
run: |
|
||||
# Remind me to make all of this not weird later ~ lleyton
|
||||
|
||||
if [[ $LINT_ERR == "true" ]]; then
|
||||
echo -e "## ❌ Lint: [${{matrix.pkg.pkg}} (${{matrix.pkg.arch}})](https://github.com/terrapkg/packages/actions/runs/${{github.run_id}})\n" >> $GITHUB_STEP_SUMMARY
|
||||
echo -e "```\n${{ env.ESC_LINT_OUT }}\n```\n" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [[ $INSTALL_ERR == "true" ]]; then
|
||||
echo -e "## ❌ DNF: [${{matrix.pkg.pkg}} (${{matrix.pkg.arch}})](https://github.com/terrapkg/packages/actions/runs/${{github.run_id}})\n" >> $GITHUB_STEP_SUMMARY
|
||||
echo "${{ env.ESC_DNF_OUT }}" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
@@ -7,52 +7,43 @@ jobs:
|
||||
bootstrap:
|
||||
strategy:
|
||||
matrix:
|
||||
version: ["38"]
|
||||
version: ["39"]
|
||||
arch: ["x86_64", "aarch64"]
|
||||
fail-fast: true
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: fedora:38
|
||||
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
|
||||
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 terra-mock-configs gcc curl wget git-core openssl-devel
|
||||
run: dnf5 install -y --setopt=install_weak_deps=False mock curl wget git-core openssl-devel cargo podman fuse-overlayfs
|
||||
|
||||
- name: Install Anda
|
||||
run: cargo install anda
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: FyraLabs/subatomic
|
||||
set-safe-directory: true
|
||||
ref: f${{ matrix.version }}
|
||||
fetch-depth: 1
|
||||
- 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 -c fedora-${{ matrix.version }}-${{ matrix.arch }} anda/mock-configs/pkg -p rpm
|
||||
- name: Install terra-mock-configs
|
||||
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
- name: Install Anda
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: install
|
||||
args: anda
|
||||
- name: Build anda-srpm-macros
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/srpm-macros/pkg
|
||||
|
||||
- name: Build Subatomic
|
||||
run: |
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} subatomic -p rpm -D "autogitcommit $(git log -1 --format='%H')"
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/subatomic/pkg
|
||||
- name: Install Subatomic
|
||||
run: sudo dnf install -y ./anda-build/rpm/rpms/subatomic-*.rpm
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: FyraLabs/anda
|
||||
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
|
||||
|
||||
- name: Build Andaman
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda -p rpm
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/anda/pkg
|
||||
|
||||
- name: Upload to Subatomic
|
||||
run: |
|
||||
|
||||
@@ -21,12 +21,12 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
|
||||
version: ["38"]
|
||||
version: ["39"]
|
||||
arch: ["x86_64", "aarch64"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f38
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -41,10 +41,10 @@ jobs:
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /var/cache
|
||||
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
|
||||
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.arch }}-${{ matrix.pkg }}
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c anda/mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
|
||||
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c anda/mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
@@ -66,8 +66,8 @@ jobs:
|
||||
terra${{ matrix.version }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success() && github.event_name == 'push'
|
||||
if: success()
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: ( cancelled() || failure() ) && github.event_name == 'push'
|
||||
if: cancelled() || failure()
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
|
||||
@@ -11,11 +11,11 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(inputs.packages) }}
|
||||
version: ["38"]
|
||||
version: ["39"]
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f38
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -55,8 +55,8 @@ jobs:
|
||||
terra${{ matrix.version }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success() && github.event_name == 'push'
|
||||
if: success()
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: ( cancelled() || failure() ) && github.event_name == 'push'
|
||||
if: cancelled() || failure()
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
|
||||
@@ -3,18 +3,18 @@ name: Lint
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
pull_request:
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
merge_group:
|
||||
branches:
|
||||
- f38
|
||||
- f39
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f38
|
||||
image: ghcr.io/terrapkg/builder:f39
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
@@ -3,6 +3,7 @@ name: Push comps updates
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- f39
|
||||
- f38
|
||||
- f37
|
||||
paths:
|
||||
@@ -13,14 +14,12 @@ jobs:
|
||||
update-comps:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:38
|
||||
image: ghcr.io/terrapkg/builder:f39
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- id: get-branch
|
||||
uses: grandmasterdev/github-action-get-branch@latest
|
||||
- name: Push to subatomic
|
||||
run: |
|
||||
branch=${{steps.get-branch.outputs.branch-name}}
|
||||
branch=${{ github.ref_name }}
|
||||
ver=${branch/f/}
|
||||
subatomic-cli upload-comps \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
|
||||
@@ -39,13 +39,13 @@ jobs:
|
||||
git config user.signingkey "${{ runner.temp }}/signing_key"
|
||||
msg="bump: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
|
||||
git commit -S -a -m "$msg"
|
||||
f37 () {
|
||||
git format-patch HEAD^
|
||||
git checkout f37
|
||||
git apply *.patch || true
|
||||
git add *
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
f37 || true
|
||||
# f37 () {
|
||||
# git format-patch HEAD^
|
||||
# git checkout f37
|
||||
# git apply *.patch || true
|
||||
# git add *
|
||||
# git commit -S -a -m "$msg"
|
||||
# }
|
||||
# f37 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Terra Sources
|
||||
|
||||
[](https://repology.org/repository/terra_37)
|
||||
[](https://repology.org/repository/terra_38)
|
||||
[](https://repology.org/repository/terra_39)
|
||||
|
||||
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.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Name: anki-bin
|
||||
Version: 2.1.65
|
||||
Release: 1%{?dist}
|
||||
Version: 2.1.66
|
||||
Release: 2%{?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
|
||||
URL: https://apps.ankiweb.net/
|
||||
BuildRequires: python3-installer python3.11 rpm_macro(fdupes)
|
||||
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
|
||||
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine
|
||||
ExclusiveArch: x86_64
|
||||
Conflicts: anki
|
||||
Source0: https://files.pythonhosted.org/packages/cp39/a/anki/anki-%{version}-cp39-abi3-manylinux_2_28_%{_arch}.whl
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: anki-qt5
|
||||
Version: 2.1.65
|
||||
Release: 1%{?dist}
|
||||
Version: 2.1.66
|
||||
Release: 2%{?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
|
||||
URL: https://apps.ankiweb.net/
|
||||
@@ -8,7 +8,7 @@ BuildRequires: python3-devel python3-setuptools python3-waitress python3-protob
|
||||
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
|
||||
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
|
||||
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt5-sip
|
||||
ExclusiveArch: x86_64
|
||||
Conflicts: anki
|
||||
Patch0: 0001-No-update.patch
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "anki.spec"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Name: anki
|
||||
Version: 2.1.65
|
||||
Release: 1%{?dist}
|
||||
Version: 2.1.66
|
||||
Release: 2%{?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
|
||||
URL: https://apps.ankiweb.net/
|
||||
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
|
||||
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-devel python3-pyqt6
|
||||
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
|
||||
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-qt5-webengine python3-pyqt6
|
||||
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
|
||||
Recommends: mpv
|
||||
Obsoletes: anki <= 2.1.15
|
||||
Conflicts: anki-qt5
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
%ifarch x86_64
|
||||
%global src ArmCord-%version
|
||||
@@ -8,9 +9,13 @@
|
||||
%global src ArmCord-%version-armv7l
|
||||
%endif
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/armcord/.*\\.so
|
||||
|
||||
Name: armcord-bin
|
||||
Version: 3.2.0
|
||||
Release: 2%{?dist}
|
||||
Version: 3.2.5
|
||||
Release: 1%{?dist}
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/ArmCord/ArmCord
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: armcord
|
||||
Version: 3.2.0
|
||||
Release: 2%{?dist}
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/ArmCord/ArmCord
|
||||
Group: Applications/Internet
|
||||
Source0: %url/archive/refs/tags/v%version.tar.gz
|
||||
Source1: launch.sh
|
||||
Requires: electron xdg-utils
|
||||
BuildRequires: nodejs-npm
|
||||
Conflicts: armcord-bin
|
||||
BuildArch: noarch
|
||||
Name: armcord
|
||||
Version: 3.2.5
|
||||
Release: 1%{?dist}
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/ArmCord/ArmCord
|
||||
Group: Applications/Internet
|
||||
Source1: launch.sh
|
||||
Requires: electron xdg-utils
|
||||
BuildRequires: nodejs-npm git
|
||||
Conflicts: armcord-bin
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
ArmCord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
%autosetup -n ArmCord-%version
|
||||
git clone %url .
|
||||
git checkout v%version
|
||||
|
||||
cat <<EOF > armcord.desktop
|
||||
[Desktop Entry]
|
||||
@@ -36,7 +36,7 @@ EOF
|
||||
|
||||
|
||||
%build
|
||||
npx pnpm@7 install --frozen-lockfile --ignore-scripts
|
||||
npx pnpm@7 install --no-frozen-lockfile
|
||||
npm run packageQuick
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +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: authy
|
||||
Version: 2.3.0
|
||||
Release: 2%{?dist}
|
||||
Version: 2.4.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Two factor authentication desktop application
|
||||
License: Unlicense
|
||||
URL: https://authy.com/
|
||||
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_19.snap
|
||||
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_21.snap
|
||||
Requires: gtk3
|
||||
Requires: nss
|
||||
BuildRequires: squashfs-tools desktop-file-utils
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
%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.161
|
||||
Version: 0.0.172
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
@@ -52,4 +57,4 @@ chmod o+w %{buildroot}%{_datadir}/discord-canary-openasar/resources -R
|
||||
- Bundle discord-canary
|
||||
|
||||
* Thu Oct 20 2022 Cappy Ishihara <cappy@cappuchino.xyz>
|
||||
-
|
||||
-
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
%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.161
|
||||
Version: 0.0.172
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -1,8 +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-openasar
|
||||
Version: 0.0.27
|
||||
Release: 2%{?dist}
|
||||
Version: 0.0.32
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
URL: https://github.com/GooseMod/OpenAsar
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
%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.43
|
||||
Version: 0.0.52
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
%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.43
|
||||
Version: 0.0.52
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1,8 +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.27
|
||||
Release: 2%{?dist}
|
||||
Version: 0.0.32
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 890b72e8689a90289522f374534b06f85cde9ddb
|
||||
%global commit 2968405ebf0f4abca2b06c2bdae26ff9f58aa991
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
Version: 1.0.1
|
||||
Release: %autorelease
|
||||
Version: 1.0.2
|
||||
Release: 1%{?dist}
|
||||
Summary: The system settings application for Lomiri
|
||||
License: GPLv3
|
||||
URL: https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
@@ -20,6 +20,7 @@ BuildRequires: pkgconfig(geonames)
|
||||
BuildRequires: pkgconfig(icu-i18n)
|
||||
#BuildRequires: pkgconfig(libandroid-properties)
|
||||
BuildRequires: pkgconfig(click-0.4)
|
||||
BuildRequires: pkgconfig(deviceinfo)
|
||||
BuildRequires: pkgconfig(gsettings-qt)
|
||||
BuildRequires: pkgconfig(QtGui)
|
||||
BuildRequires: pkgconfig(gnome-desktop-3.0)
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
From 04d3a21c6e72cd5574f7333adf548012d912c1ee Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Sat, 7 Jan 2023 23:15:13 -0500
|
||||
Subject: [PATCH 1/3] UI: Consistently reference the software H264 encoder
|
||||
properly
|
||||
|
||||
The code here assumes that the only software encoder is the x264-based
|
||||
H.264 encoder. That may not always remain true. This change adjusts
|
||||
the encoder string to indicate that it's an H.264 encoder from x264.
|
||||
---
|
||||
UI/data/locale/en-US.ini | 4 ++--
|
||||
UI/window-basic-auto-config-test.cpp | 6 +++---
|
||||
UI/window-basic-settings-stream.cpp | 2 +-
|
||||
UI/window-basic-settings.cpp | 7 ++++---
|
||||
4 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
|
||||
index 4c03aa7db..e44d99660 100644
|
||||
--- a/UI/data/locale/en-US.ini
|
||||
+++ b/UI/data/locale/en-US.ini
|
||||
@@ -980,7 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
|
||||
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
|
||||
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
|
||||
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
|
||||
-Basic.Settings.Output.Simple.Encoder.Software="Software (x264)"
|
||||
+Basic.Settings.Output.Simple.Encoder.Software.X264.H264="Software (x264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardware (AMD, H.264)"
|
||||
@@ -991,7 +991,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardware (NVENC, HEVC)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardware (Apple, H.264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.HEVC="Hardware (Apple, HEVC)"
|
||||
-Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (x264 low CPU usage preset, increases file size)"
|
||||
+Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU.X264.H264="Software (x264 low CPU usage preset, increases file size)"
|
||||
Basic.Settings.Output.Simple.Codec.AAC="AAC"
|
||||
Basic.Settings.Output.Simple.Codec.AAC.Default="AAC (Default)"
|
||||
Basic.Settings.Output.Simple.Codec.Opus="Opus"
|
||||
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
|
||||
index 2d89d7347..09979c031 100644
|
||||
--- a/UI/window-basic-auto-config-test.cpp
|
||||
+++ b/UI/window-basic-auto-config-test.cpp
|
||||
@@ -993,7 +993,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
}
|
||||
|
||||
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
|
||||
-#define ENCODER_SOFTWARE ENCODER_TEXT("Software")
|
||||
+#define ENCODER_X264 ENCODER_TEXT("Software.X264.H264")
|
||||
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
|
||||
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
|
||||
#define ENCODER_AMD ENCODER_TEXT("Hardware.AMD.H264")
|
||||
@@ -1033,7 +1033,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
auto encName = [](AutoConfig::Encoder enc) -> QString {
|
||||
switch (enc) {
|
||||
case AutoConfig::Encoder::x264:
|
||||
- return QTStr(ENCODER_SOFTWARE);
|
||||
+ return QTStr(ENCODER_X264);
|
||||
case AutoConfig::Encoder::NVENC:
|
||||
return QTStr(ENCODER_NVENC);
|
||||
case AutoConfig::Encoder::QSV:
|
||||
@@ -1046,7 +1046,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
return QTStr(QUALITY_SAME);
|
||||
}
|
||||
|
||||
- return QTStr(ENCODER_SOFTWARE);
|
||||
+ return QTStr(ENCODER_X264);
|
||||
};
|
||||
|
||||
auto newLabel = [this](const char *str) -> QLabel * {
|
||||
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
|
||||
index f6e0817a0..b056938e7 100644
|
||||
--- a/UI/window-basic-settings-stream.cpp
|
||||
+++ b/UI/window-basic-settings-stream.cpp
|
||||
@@ -1585,7 +1585,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
|
||||
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
|
||||
|
||||
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"),
|
||||
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.X264.H264"),
|
||||
QString(SIMPLE_ENCODER_X264));
|
||||
if (service_supports_encoder(vcodecs, "obs_qsv11"))
|
||||
ui->simpleOutStrEncoder->addItem(
|
||||
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
|
||||
index fb170bfc1..48bb4bac6 100644
|
||||
--- a/UI/window-basic-settings.cpp
|
||||
+++ b/UI/window-basic-settings.cpp
|
||||
@@ -5286,10 +5286,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
ADD_QUALITY("HQ");
|
||||
ADD_QUALITY("Lossless");
|
||||
|
||||
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software"),
|
||||
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.X264.H264"),
|
||||
QString(SIMPLE_ENCODER_X264));
|
||||
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("SoftwareLowCPU"),
|
||||
- QString(SIMPLE_ENCODER_X264_LOWCPU));
|
||||
+ ui->simpleOutRecEncoder->addItem(
|
||||
+ ENCODER_STR("SoftwareLowCPU.X264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_X264_LOWCPU));
|
||||
if (EncoderAvailable("obs_qsv11"))
|
||||
ui->simpleOutRecEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
--
|
||||
2.39.2
|
||||
@@ -1,345 +0,0 @@
|
||||
From 4517d8d8bb4c43af1f5b757773a5f9550bd23d37 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Sun, 26 Mar 2023 06:06:31 -0400
|
||||
Subject: [PATCH 2/3] obs-ffmpeg: Add initial support for the OpenH264 H.264
|
||||
software codec
|
||||
|
||||
This allows users to leverage the OpenH264 codec from Cisco to encode
|
||||
H.264 video content. It is significantly reduced in capability from
|
||||
alternatives, but it does the job.
|
||||
|
||||
This also provides a framework for adding support for other H.264
|
||||
software codecs provided through FFmpeg.
|
||||
---
|
||||
plugins/obs-ffmpeg/CMakeLists.txt | 1 +
|
||||
plugins/obs-ffmpeg/cmake/legacy.cmake | 1 +
|
||||
plugins/obs-ffmpeg/data/locale/en-US.ini | 3 +
|
||||
plugins/obs-ffmpeg/obs-ffmpeg-h264.c | 260 +++++++++++++++++++++++
|
||||
plugins/obs-ffmpeg/obs-ffmpeg.c | 2 +
|
||||
5 files changed, 267 insertions(+)
|
||||
create mode 100644 plugins/obs-ffmpeg/obs-ffmpeg-h264.c
|
||||
|
||||
diff --git a/plugins/obs-ffmpeg/CMakeLists.txt b/plugins/obs-ffmpeg/CMakeLists.txt
|
||||
index 3eba00932..f97622c22 100644
|
||||
--- a/plugins/obs-ffmpeg/CMakeLists.txt
|
||||
+++ b/plugins/obs-ffmpeg/CMakeLists.txt
|
||||
@@ -34,6 +34,7 @@ target_sources(
|
||||
obs-ffmpeg-video-encoders.c
|
||||
obs-ffmpeg-audio-encoders.c
|
||||
obs-ffmpeg-av1.c
|
||||
+ obs-ffmpeg-h264.c
|
||||
obs-ffmpeg-nvenc.c
|
||||
obs-ffmpeg-output.c
|
||||
obs-ffmpeg-mux.c
|
||||
diff --git a/plugins/obs-ffmpeg/cmake/legacy.cmake b/plugins/obs-ffmpeg/cmake/legacy.cmake
|
||||
index 5540676ea..62f2cc7a1 100644
|
||||
--- a/plugins/obs-ffmpeg/cmake/legacy.cmake
|
||||
+++ b/plugins/obs-ffmpeg/cmake/legacy.cmake
|
||||
@@ -40,6 +40,7 @@ target_sources(
|
||||
obs-ffmpeg-video-encoders.c
|
||||
obs-ffmpeg-audio-encoders.c
|
||||
obs-ffmpeg-av1.c
|
||||
+ obs-ffmpeg-h264.c
|
||||
obs-ffmpeg-nvenc.c
|
||||
obs-ffmpeg-output.c
|
||||
obs-ffmpeg-mux.c
|
||||
diff --git a/plugins/obs-ffmpeg/data/locale/en-US.ini b/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
index 55bbe919d..0363ed82b 100644
|
||||
--- a/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
+++ b/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
@@ -109,4 +109,7 @@ NVENC.CheckDrivers="Try installing the latest <a href=\"https://obsproject.com/g
|
||||
|
||||
AV1.8bitUnsupportedHdr="OBS does not support 8-bit output of Rec. 2100."
|
||||
|
||||
+H264.UnsupportedVideoFormat="Only video formats using 8-bit color are supported."
|
||||
+H264.UnsupportedColorSpace="Only the Rec. 709 color space is supported."
|
||||
+
|
||||
ReconnectDelayTime="Reconnect Delay"
|
||||
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-h264.c b/plugins/obs-ffmpeg/obs-ffmpeg-h264.c
|
||||
new file mode 100644
|
||||
index 000000000..179a61ccf
|
||||
--- /dev/null
|
||||
+++ b/plugins/obs-ffmpeg/obs-ffmpeg-h264.c
|
||||
@@ -0,0 +1,260 @@
|
||||
+/******************************************************************************
|
||||
+ Copyright (C) 2023 by Neal Gompa <neal@gompa.dev>
|
||||
+ Partly derived from obs-ffmpeg-av1.c by Hugh Bailey <obs.jim@gmail.com>
|
||||
+
|
||||
+ This program is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 2 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+******************************************************************************/
|
||||
+
|
||||
+#include "obs-ffmpeg-video-encoders.h"
|
||||
+
|
||||
+#define do_log(level, format, ...) \
|
||||
+ blog(level, "[H.264 encoder: '%s'] " format, \
|
||||
+ obs_encoder_get_name(enc->ffve.encoder), ##__VA_ARGS__)
|
||||
+
|
||||
+#define error(format, ...) do_log(LOG_ERROR, format, ##__VA_ARGS__)
|
||||
+#define warn(format, ...) do_log(LOG_WARNING, format, ##__VA_ARGS__)
|
||||
+#define info(format, ...) do_log(LOG_INFO, format, ##__VA_ARGS__)
|
||||
+#define debug(format, ...) do_log(LOG_DEBUG, format, ##__VA_ARGS__)
|
||||
+
|
||||
+enum h264_encoder_type {
|
||||
+ H264_ENCODER_TYPE_OH264,
|
||||
+};
|
||||
+
|
||||
+struct h264_encoder {
|
||||
+ struct ffmpeg_video_encoder ffve;
|
||||
+ enum h264_encoder_type type;
|
||||
+
|
||||
+ DARRAY(uint8_t) header;
|
||||
+};
|
||||
+
|
||||
+static const char *oh264_getname(void *unused)
|
||||
+{
|
||||
+ UNUSED_PARAMETER(unused);
|
||||
+ return "OpenH264";
|
||||
+}
|
||||
+
|
||||
+static void h264_video_info(void *data, struct video_scale_info *info)
|
||||
+{
|
||||
+ UNUSED_PARAMETER(data);
|
||||
+
|
||||
+ // OpenH264 only supports I420
|
||||
+ info->format = VIDEO_FORMAT_I420;
|
||||
+}
|
||||
+
|
||||
+static bool h264_update(struct h264_encoder *enc, obs_data_t *settings)
|
||||
+{
|
||||
+ const char *profile = obs_data_get_string(settings, "profile");
|
||||
+ int bitrate = (int)obs_data_get_int(settings, "bitrate");
|
||||
+ int keyint_sec = 0; // This is not supported by OpenH264
|
||||
+ const char *rc_mode = "quality"; // We only want to use quality mode
|
||||
+ int allow_skip_frames = 1; // This is required for quality mode
|
||||
+
|
||||
+ video_t *video = obs_encoder_video(enc->ffve.encoder);
|
||||
+ const struct video_output_info *voi = video_output_get_info(video);
|
||||
+ struct video_scale_info info;
|
||||
+
|
||||
+ info.format = voi->format;
|
||||
+ info.colorspace = voi->colorspace;
|
||||
+ info.range = voi->range;
|
||||
+
|
||||
+ enc->ffve.context->thread_count = 0;
|
||||
+
|
||||
+ h264_video_info(enc, &info);
|
||||
+
|
||||
+ av_opt_set(enc->ffve.context->priv_data, "rc_mode", rc_mode, 0);
|
||||
+ av_opt_set(enc->ffve.context->priv_data, "profile", profile, 0);
|
||||
+ av_opt_set_int(enc->ffve.context->priv_data, "allow_skip_frames",
|
||||
+ allow_skip_frames, 0);
|
||||
+
|
||||
+ const char *ffmpeg_opts = obs_data_get_string(settings, "ffmpeg_opts");
|
||||
+ ffmpeg_video_encoder_update(&enc->ffve, bitrate, keyint_sec, voi, &info,
|
||||
+ ffmpeg_opts);
|
||||
+ info("settings:\n"
|
||||
+ "\tencoder: %s\n"
|
||||
+ "\trc_mode: %s\n"
|
||||
+ "\tbitrate: %d\n"
|
||||
+ "\tprofile: %s\n"
|
||||
+ "\twidth: %d\n"
|
||||
+ "\theight: %d\n"
|
||||
+ "\tffmpeg opts: %s\n",
|
||||
+ enc->ffve.enc_name, rc_mode, bitrate, profile,
|
||||
+ enc->ffve.context->width, enc->ffve.height, ffmpeg_opts);
|
||||
+
|
||||
+ enc->ffve.context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
||||
+ return ffmpeg_video_encoder_init_codec(&enc->ffve);
|
||||
+}
|
||||
+
|
||||
+static void h264_destroy(void *data)
|
||||
+{
|
||||
+ struct h264_encoder *enc = data;
|
||||
+
|
||||
+ ffmpeg_video_encoder_free(&enc->ffve);
|
||||
+ da_free(enc->header);
|
||||
+ bfree(enc);
|
||||
+}
|
||||
+
|
||||
+static void on_first_packet(void *data, AVPacket *pkt, struct darray *da)
|
||||
+{
|
||||
+ struct h264_encoder *enc = data;
|
||||
+
|
||||
+ da_copy_array(enc->header, enc->ffve.context->extradata,
|
||||
+ enc->ffve.context->extradata_size);
|
||||
+
|
||||
+ darray_copy_array(1, da, pkt->data, pkt->size);
|
||||
+}
|
||||
+
|
||||
+static void *h264_create_internal(obs_data_t *settings, obs_encoder_t *encoder,
|
||||
+ const char *enc_lib, const char *enc_name)
|
||||
+{
|
||||
+ video_t *video = obs_encoder_video(encoder);
|
||||
+ const struct video_output_info *voi = video_output_get_info(video);
|
||||
+
|
||||
+ switch (voi->format) {
|
||||
+ // planar 4:2:0 formats
|
||||
+ case VIDEO_FORMAT_I420: // three-plane
|
||||
+ case VIDEO_FORMAT_NV12: // two-plane, luma and packed chroma
|
||||
+ // packed 4:2:2 formats
|
||||
+ case VIDEO_FORMAT_YVYU:
|
||||
+ case VIDEO_FORMAT_YUY2: // YUYV
|
||||
+ case VIDEO_FORMAT_UYVY:
|
||||
+ // packed uncompressed formats
|
||||
+ case VIDEO_FORMAT_RGBA:
|
||||
+ case VIDEO_FORMAT_BGRA:
|
||||
+ case VIDEO_FORMAT_BGRX:
|
||||
+ case VIDEO_FORMAT_BGR3:
|
||||
+ case VIDEO_FORMAT_Y800: // grayscale
|
||||
+ // planar 4:4:4
|
||||
+ case VIDEO_FORMAT_I444:
|
||||
+ // planar 4:2:2
|
||||
+ case VIDEO_FORMAT_I422:
|
||||
+ // planar 4:2:0 with alpha
|
||||
+ case VIDEO_FORMAT_I40A:
|
||||
+ // planar 4:2:2 with alpha
|
||||
+ case VIDEO_FORMAT_I42A:
|
||||
+ // planar 4:4:4 with alpha
|
||||
+ case VIDEO_FORMAT_YUVA:
|
||||
+ // packed 4:4:4 with alpha
|
||||
+ case VIDEO_FORMAT_AYUV:
|
||||
+ break;
|
||||
+ default:; // Make the compiler do the right thing
|
||||
+ const char *const text =
|
||||
+ obs_module_text("H264.UnsupportedVideoFormat");
|
||||
+ obs_encoder_set_last_error(encoder, text);
|
||||
+ blog(LOG_ERROR, "[H.264 encoder] %s", text);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ switch (voi->colorspace) {
|
||||
+ case VIDEO_CS_DEFAULT:
|
||||
+ case VIDEO_CS_709:
|
||||
+ break;
|
||||
+ default:; // Make the compiler do the right thing
|
||||
+ const char *const text =
|
||||
+ obs_module_text("H264.UnsupportedColorSpace");
|
||||
+ obs_encoder_set_last_error(encoder, text);
|
||||
+ blog(LOG_ERROR, "[H.264 encoder] %s", text);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ struct h264_encoder *enc = bzalloc(sizeof(*enc));
|
||||
+
|
||||
+ if (strcmp(enc_lib, "libopenh264") == 0)
|
||||
+ enc->type = H264_ENCODER_TYPE_OH264;
|
||||
+
|
||||
+ if (!ffmpeg_video_encoder_init(&enc->ffve, enc, encoder, enc_lib, NULL,
|
||||
+ enc_name, NULL, on_first_packet))
|
||||
+ goto fail;
|
||||
+ if (!h264_update(enc, settings))
|
||||
+ goto fail;
|
||||
+
|
||||
+ return enc;
|
||||
+
|
||||
+fail:
|
||||
+ h264_destroy(enc);
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static void *oh264_create(obs_data_t *settings, obs_encoder_t *encoder)
|
||||
+{
|
||||
+ return h264_create_internal(settings, encoder, "libopenh264",
|
||||
+ "OpenH264");
|
||||
+}
|
||||
+
|
||||
+static bool h264_encode(void *data, struct encoder_frame *frame,
|
||||
+ struct encoder_packet *packet, bool *received_packet)
|
||||
+{
|
||||
+ struct h264_encoder *enc = data;
|
||||
+ return ffmpeg_video_encode(&enc->ffve, frame, packet, received_packet);
|
||||
+}
|
||||
+
|
||||
+void h264_defaults(obs_data_t *settings)
|
||||
+{
|
||||
+ obs_data_set_default_int(settings, "bitrate", 2500);
|
||||
+ obs_data_set_default_string(settings, "profile", "main");
|
||||
+}
|
||||
+
|
||||
+obs_properties_t *h264_properties(enum h264_encoder_type type)
|
||||
+{
|
||||
+ UNUSED_PARAMETER(type); // Only one encoder right now...
|
||||
+ obs_properties_t *props = obs_properties_create();
|
||||
+ obs_property_t *p;
|
||||
+
|
||||
+ p = obs_properties_add_list(props, "profile",
|
||||
+ obs_module_text("Profile"),
|
||||
+ OBS_COMBO_TYPE_LIST,
|
||||
+ OBS_COMBO_FORMAT_STRING);
|
||||
+ obs_property_list_add_string(p, "constrained_baseline",
|
||||
+ "constrained_baseline");
|
||||
+ obs_property_list_add_string(p, "main", "main");
|
||||
+ obs_property_list_add_string(p, "high", "high");
|
||||
+
|
||||
+ p = obs_properties_add_int(props, "bitrate", obs_module_text("Bitrate"),
|
||||
+ 50, 300000, 50);
|
||||
+ obs_property_int_set_suffix(p, " Kbps");
|
||||
+
|
||||
+ obs_properties_add_text(props, "ffmpeg_opts",
|
||||
+ obs_module_text("FFmpegOpts"),
|
||||
+ OBS_TEXT_DEFAULT);
|
||||
+
|
||||
+ return props;
|
||||
+}
|
||||
+
|
||||
+obs_properties_t *oh264_properties(void *unused)
|
||||
+{
|
||||
+ UNUSED_PARAMETER(unused);
|
||||
+ return h264_properties(H264_ENCODER_TYPE_OH264);
|
||||
+}
|
||||
+
|
||||
+static bool h264_extra_data(void *data, uint8_t **extra_data, size_t *size)
|
||||
+{
|
||||
+ struct h264_encoder *enc = data;
|
||||
+
|
||||
+ *extra_data = enc->header.array;
|
||||
+ *size = enc->header.num;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+struct obs_encoder_info oh264_encoder_info = {
|
||||
+ .id = "ffmpeg_openh264",
|
||||
+ .type = OBS_ENCODER_VIDEO,
|
||||
+ .codec = "h264",
|
||||
+ .get_name = oh264_getname,
|
||||
+ .create = oh264_create,
|
||||
+ .destroy = h264_destroy,
|
||||
+ .encode = h264_encode,
|
||||
+ .get_defaults = h264_defaults,
|
||||
+ .get_properties = oh264_properties,
|
||||
+ .get_extra_data = h264_extra_data,
|
||||
+ .get_video_info = h264_video_info,
|
||||
+};
|
||||
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c
|
||||
index da0b2c2b4..a01a729c8 100644
|
||||
--- a/plugins/obs-ffmpeg/obs-ffmpeg.c
|
||||
+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
|
||||
@@ -39,6 +39,7 @@ extern struct obs_encoder_info pcm24_encoder_info;
|
||||
extern struct obs_encoder_info pcm32_encoder_info;
|
||||
extern struct obs_encoder_info alac_encoder_info;
|
||||
extern struct obs_encoder_info flac_encoder_info;
|
||||
+extern struct obs_encoder_info oh264_encoder_info;
|
||||
extern struct obs_encoder_info h264_nvenc_encoder_info;
|
||||
#ifdef ENABLE_HEVC
|
||||
extern struct obs_encoder_info hevc_nvenc_encoder_info;
|
||||
@@ -387,6 +388,7 @@ bool obs_module_load(void)
|
||||
obs_register_output(&ffmpeg_hls_muxer);
|
||||
obs_register_output(&replay_buffer);
|
||||
obs_register_encoder(&aac_encoder_info);
|
||||
+ register_encoder_if_available(&oh264_encoder_info, "libopenh264");
|
||||
register_encoder_if_available(&svt_av1_encoder_info, "libsvtav1");
|
||||
register_encoder_if_available(&aom_av1_encoder_info, "libaom-av1");
|
||||
obs_register_encoder(&opus_encoder_info);
|
||||
--
|
||||
2.39.2
|
||||
@@ -1,544 +0,0 @@
|
||||
From 30f84455969071ff9aa826a44438a0402dd15123 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Tue, 28 Mar 2023 05:08:49 -0400
|
||||
Subject: [PATCH 3/3] UI: Add support for OpenH264 as the worst-case fallback
|
||||
|
||||
OpenH264 exists as the codec of last resort, so it is implemented
|
||||
such that it is only used as the software codec if x264 is not
|
||||
available.
|
||||
---
|
||||
UI/data/locale/en-US.ini | 1 +
|
||||
UI/window-basic-auto-config-test.cpp | 50 +++++++++++++++++++---------
|
||||
UI/window-basic-auto-config.cpp | 15 ++++++++-
|
||||
UI/window-basic-auto-config.hpp | 3 ++
|
||||
UI/window-basic-main-outputs.cpp | 6 ++--
|
||||
UI/window-basic-main-profiles.cpp | 34 +++++++++++--------
|
||||
UI/window-basic-main.cpp | 20 +++++++----
|
||||
UI/window-basic-main.hpp | 3 +-
|
||||
UI/window-basic-settings-stream.cpp | 16 ++++++---
|
||||
UI/window-basic-settings.cpp | 23 ++++++++++---
|
||||
10 files changed, 123 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
|
||||
index e44d99660..a5ba5d661 100644
|
||||
--- a/UI/data/locale/en-US.ini
|
||||
+++ b/UI/data/locale/en-US.ini
|
||||
@@ -980,6 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
|
||||
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
|
||||
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
|
||||
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
|
||||
+Basic.Settings.Output.Simple.Encoder.Software.OpenH264.H264="Software (OpenH264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Software.X264.H264="Software (x264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
|
||||
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
|
||||
index 09979c031..c791c8b8b 100644
|
||||
--- a/UI/window-basic-auto-config-test.cpp
|
||||
+++ b/UI/window-basic-auto-config-test.cpp
|
||||
@@ -199,7 +199,8 @@ void AutoConfigTestPage::TestBandwidthThread()
|
||||
: "rtmp_common";
|
||||
|
||||
OBSEncoderAutoRelease vencoder = obs_video_encoder_create(
|
||||
- "obs_x264", "test_x264", nullptr, nullptr);
|
||||
+ (wiz->x264Available ? "obs_x264" : "ffmpeg_openh264"),
|
||||
+ "test_h264", nullptr, nullptr);
|
||||
OBSEncoderAutoRelease aencoder = obs_audio_encoder_create(
|
||||
"ffmpeg_aac", "test_aac", nullptr, 0, nullptr);
|
||||
OBSServiceAutoRelease service = obs_service_create(
|
||||
@@ -238,10 +239,11 @@ void AutoConfigTestPage::TestBandwidthThread()
|
||||
obs_data_set_string(service_settings, "key", key.c_str());
|
||||
|
||||
obs_data_set_int(vencoder_settings, "bitrate", wiz->startingBitrate);
|
||||
- obs_data_set_string(vencoder_settings, "rate_control", "CBR");
|
||||
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
|
||||
- obs_data_set_int(vencoder_settings, "keyint_sec", 2);
|
||||
-
|
||||
+ if (wiz->x264Available) {
|
||||
+ obs_data_set_string(vencoder_settings, "rate_control", "CBR");
|
||||
+ obs_data_set_string(vencoder_settings, "preset", "veryfast");
|
||||
+ obs_data_set_int(vencoder_settings, "keyint_sec", 2);
|
||||
+ }
|
||||
obs_data_set_int(aencoder_settings, "bitrate", 32);
|
||||
|
||||
OBSBasic *main = reinterpret_cast<OBSBasic *>(App()->GetMainWindow());
|
||||
@@ -567,7 +569,8 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
/* create obs objects */
|
||||
|
||||
OBSEncoderAutoRelease vencoder = obs_video_encoder_create(
|
||||
- "obs_x264", "test_x264", nullptr, nullptr);
|
||||
+ (wiz->x264Available ? "obs_x264" : "ffmpeg_openh264"),
|
||||
+ "test_h264", nullptr, nullptr);
|
||||
OBSEncoderAutoRelease aencoder = obs_audio_encoder_create(
|
||||
"ffmpeg_aac", "test_aac", nullptr, 0, nullptr);
|
||||
OBSOutputAutoRelease output =
|
||||
@@ -581,17 +584,25 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
obs_data_set_int(aencoder_settings, "bitrate", 32);
|
||||
|
||||
if (wiz->type != AutoConfig::Type::Recording) {
|
||||
- obs_data_set_int(vencoder_settings, "keyint_sec", 2);
|
||||
+ if (wiz->x264Available) {
|
||||
+ obs_data_set_int(vencoder_settings, "keyint_sec", 2);
|
||||
+ obs_data_set_string(vencoder_settings, "rate_control",
|
||||
+ "CBR");
|
||||
+ obs_data_set_string(vencoder_settings, "preset",
|
||||
+ "veryfast");
|
||||
+ }
|
||||
obs_data_set_int(vencoder_settings, "bitrate",
|
||||
wiz->idealBitrate);
|
||||
- obs_data_set_string(vencoder_settings, "rate_control", "CBR");
|
||||
obs_data_set_string(vencoder_settings, "profile", "main");
|
||||
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
|
||||
} else {
|
||||
- obs_data_set_int(vencoder_settings, "crf", 20);
|
||||
- obs_data_set_string(vencoder_settings, "rate_control", "CRF");
|
||||
+ if (wiz->x264Available) {
|
||||
+ obs_data_set_int(vencoder_settings, "crf", 20);
|
||||
+ obs_data_set_string(vencoder_settings, "rate_control",
|
||||
+ "CRF");
|
||||
+ obs_data_set_string(vencoder_settings, "preset",
|
||||
+ "veryfast");
|
||||
+ }
|
||||
obs_data_set_string(vencoder_settings, "profile", "high");
|
||||
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
|
||||
}
|
||||
|
||||
/* -----------------------------------*/
|
||||
@@ -944,7 +955,10 @@ void AutoConfigTestPage::TestStreamEncoderThread()
|
||||
else
|
||||
wiz->streamingEncoder = AutoConfig::Encoder::AMD;
|
||||
} else {
|
||||
- wiz->streamingEncoder = AutoConfig::Encoder::x264;
|
||||
+ if (wiz->x264Available)
|
||||
+ wiz->streamingEncoder = AutoConfig::Encoder::x264;
|
||||
+ else
|
||||
+ wiz->streamingEncoder = AutoConfig::Encoder::OpenH264;
|
||||
}
|
||||
|
||||
if (preferHardware && !softwareTested && wiz->hardwareEncodingAvailable)
|
||||
@@ -979,7 +993,10 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
else
|
||||
wiz->recordingEncoder = AutoConfig::Encoder::AMD;
|
||||
} else {
|
||||
- wiz->recordingEncoder = AutoConfig::Encoder::x264;
|
||||
+ if (wiz->x264Available)
|
||||
+ wiz->streamingEncoder = AutoConfig::Encoder::x264;
|
||||
+ else
|
||||
+ wiz->streamingEncoder = AutoConfig::Encoder::OpenH264;
|
||||
}
|
||||
|
||||
if (wiz->recordingEncoder != AutoConfig::Encoder::NVENC) {
|
||||
@@ -993,6 +1010,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
}
|
||||
|
||||
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
|
||||
+#define ENCODER_OPENH264 ENCODER_TEXT("Software.OpenH264.H264")
|
||||
#define ENCODER_X264 ENCODER_TEXT("Software.X264.H264")
|
||||
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
|
||||
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
|
||||
@@ -1032,6 +1050,8 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
|
||||
auto encName = [](AutoConfig::Encoder enc) -> QString {
|
||||
switch (enc) {
|
||||
+ case AutoConfig::Encoder::OpenH264:
|
||||
+ return QTStr(ENCODER_OPENH264);
|
||||
case AutoConfig::Encoder::x264:
|
||||
return QTStr(ENCODER_X264);
|
||||
case AutoConfig::Encoder::NVENC:
|
||||
@@ -1046,7 +1066,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
return QTStr(QUALITY_SAME);
|
||||
}
|
||||
|
||||
- return QTStr(ENCODER_X264);
|
||||
+ return QTStr(ENCODER_OPENH264);
|
||||
};
|
||||
|
||||
auto newLabel = [this](const char *str) -> QLabel * {
|
||||
diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp
|
||||
index 3e9c36685..eace18067 100644
|
||||
--- a/UI/window-basic-auto-config.cpp
|
||||
+++ b/UI/window-basic-auto-config.cpp
|
||||
@@ -961,6 +961,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
|
||||
streamPage->ui->bitrate->setValue(bitrate);
|
||||
streamPage->ServiceChanged();
|
||||
|
||||
+ TestSoftwareEncoding();
|
||||
TestHardwareEncoding();
|
||||
if (!hardwareEncodingAvailable) {
|
||||
delete streamPage->ui->preferHardware;
|
||||
@@ -989,6 +990,16 @@ AutoConfig::~AutoConfig()
|
||||
EnableThreadedMessageBoxes(false);
|
||||
}
|
||||
|
||||
+void AutoConfig::TestSoftwareEncoding()
|
||||
+{
|
||||
+ size_t idx = 0;
|
||||
+ const char *id;
|
||||
+ while (obs_enum_encoder_types(idx++, &id)) {
|
||||
+ if (strcmp(id, "obs_x264") == 0)
|
||||
+ x264Available = true;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void AutoConfig::TestHardwareEncoding()
|
||||
{
|
||||
size_t idx = 0;
|
||||
@@ -1061,8 +1072,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
|
||||
return SIMPLE_ENCODER_AMD;
|
||||
case Encoder::Apple:
|
||||
return SIMPLE_ENCODER_APPLE_H264;
|
||||
- default:
|
||||
+ case Encoder::x264:
|
||||
return SIMPLE_ENCODER_X264;
|
||||
+ default:
|
||||
+ return SIMPLE_ENCODER_OPENH264;
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/UI/window-basic-auto-config.hpp b/UI/window-basic-auto-config.hpp
|
||||
index eb50701ff..e581791dd 100644
|
||||
--- a/UI/window-basic-auto-config.hpp
|
||||
+++ b/UI/window-basic-auto-config.hpp
|
||||
@@ -43,6 +43,7 @@ class AutoConfig : public QWizard {
|
||||
};
|
||||
|
||||
enum class Encoder {
|
||||
+ OpenH264,
|
||||
x264,
|
||||
NVENC,
|
||||
QSV,
|
||||
@@ -91,6 +92,7 @@ class AutoConfig : public QWizard {
|
||||
bool qsvAvailable = false;
|
||||
bool vceAvailable = false;
|
||||
bool appleAvailable = false;
|
||||
+ bool x264Available = false;
|
||||
|
||||
int startingBitrate = 2500;
|
||||
bool customServer = false;
|
||||
@@ -106,6 +108,7 @@ class AutoConfig : public QWizard {
|
||||
int specificFPSNum = 0;
|
||||
int specificFPSDen = 0;
|
||||
|
||||
+ void TestSoftwareEncoding();
|
||||
void TestHardwareEncoding();
|
||||
bool CanTestServer(const char *server);
|
||||
|
||||
diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp
|
||||
index 737ab966d..a4df630c4 100644
|
||||
--- a/UI/window-basic-main-outputs.cpp
|
||||
+++ b/UI/window-basic-main-outputs.cpp
|
||||
@@ -515,7 +515,9 @@ void SimpleOutput::LoadStreamingPreset_Lossy(const char *encoderId)
|
||||
/* mistakes have been made to lead us to this. */
|
||||
const char *get_simple_output_encoder(const char *encoder)
|
||||
{
|
||||
- if (strcmp(encoder, SIMPLE_ENCODER_X264) == 0) {
|
||||
+ if (strcmp(encoder, SIMPLE_ENCODER_OPENH264) == 0) {
|
||||
+ return "ffmpeg_openh264";
|
||||
+ } else if (strcmp(encoder, SIMPLE_ENCODER_X264) == 0) {
|
||||
return "obs_x264";
|
||||
} else if (strcmp(encoder, SIMPLE_ENCODER_X264_LOWCPU) == 0) {
|
||||
return "obs_x264";
|
||||
@@ -549,7 +551,7 @@ const char *get_simple_output_encoder(const char *encoder)
|
||||
#endif
|
||||
}
|
||||
|
||||
- return "obs_x264";
|
||||
+ return "ffmpeg_openh264";
|
||||
}
|
||||
|
||||
void SimpleOutput::LoadRecordingPreset()
|
||||
diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp
|
||||
index 4941359ea..1f3ffdc1d 100644
|
||||
--- a/UI/window-basic-main-profiles.cpp
|
||||
+++ b/UI/window-basic-main-profiles.cpp
|
||||
@@ -794,7 +794,7 @@ void OBSBasic::ChangeProfile()
|
||||
|
||||
Auth::Load();
|
||||
|
||||
- CheckForSimpleModeX264Fallback();
|
||||
+ CheckForSimpleModeH264Fallback();
|
||||
|
||||
blog(LOG_INFO, "Switched to profile '%s' (%s)", newName, newDir);
|
||||
blog(LOG_INFO, "------------------------------------------------");
|
||||
@@ -815,12 +815,13 @@ void OBSBasic::ChangeProfile()
|
||||
}
|
||||
}
|
||||
|
||||
-void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
+void OBSBasic::CheckForSimpleModeH264Fallback()
|
||||
{
|
||||
const char *curStreamEncoder =
|
||||
config_get_string(basicConfig, "SimpleOutput", "StreamEncoder");
|
||||
const char *curRecEncoder =
|
||||
config_get_string(basicConfig, "SimpleOutput", "RecEncoder");
|
||||
+ bool x264_supported = false;
|
||||
bool qsv_supported = false;
|
||||
bool qsv_av1_supported = false;
|
||||
bool amd_supported = false;
|
||||
@@ -837,7 +838,9 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
const char *id;
|
||||
|
||||
while (obs_enum_encoder_types(idx++, &id)) {
|
||||
- if (strcmp(id, "amd_amf_h264") == 0)
|
||||
+ if (strcmp(id, "obs_x264") == 0)
|
||||
+ x264_supported = true;
|
||||
+ else if (strcmp(id, "amd_amf_h264") == 0)
|
||||
amd_supported = true;
|
||||
else if (strcmp(id, "obs_qsv11") == 0)
|
||||
qsv_supported = true;
|
||||
@@ -865,68 +868,73 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
#endif
|
||||
}
|
||||
|
||||
+ // Check to see whether x264 is available
|
||||
+ const char *fallback_encoder_name = (x264_supported
|
||||
+ ? SIMPLE_ENCODER_X264
|
||||
+ : SIMPLE_ENCODER_OPENH264);
|
||||
+
|
||||
auto CheckEncoder = [&](const char *&name) {
|
||||
if (strcmp(name, SIMPLE_ENCODER_QSV) == 0) {
|
||||
if (!qsv_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_QSV_AV1) == 0) {
|
||||
if (!qsv_av1_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_NVENC) == 0) {
|
||||
if (!nve_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_NVENC_AV1) == 0) {
|
||||
if (!nve_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
#ifdef ENABLE_HEVC
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_AMD_HEVC) == 0) {
|
||||
if (!amd_hevc_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_NVENC_HEVC) == 0) {
|
||||
if (!nve_hevc_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_AMD) == 0) {
|
||||
if (!amd_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_AMD_AV1) == 0) {
|
||||
if (!amd_av1_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_APPLE_H264) == 0) {
|
||||
if (!apple_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
#ifdef ENABLE_HEVC
|
||||
} else if (strcmp(name, SIMPLE_ENCODER_APPLE_HEVC) == 0) {
|
||||
if (!apple_hevc_supported) {
|
||||
changed = true;
|
||||
- name = SIMPLE_ENCODER_X264;
|
||||
+ name = fallback_encoder_name;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
|
||||
index 6d9375eb4..c6aae8c7b 100644
|
||||
--- a/UI/window-basic-main.cpp
|
||||
+++ b/UI/window-basic-main.cpp
|
||||
@@ -1379,6 +1379,8 @@ extern void CheckExistingCookieId();
|
||||
#define DEFAULT_CONTAINER "fragmented_mp4"
|
||||
#endif
|
||||
|
||||
+extern bool EncoderAvailable(const char *encoder);
|
||||
+
|
||||
bool OBSBasic::InitBasicConfigDefaults()
|
||||
{
|
||||
QList<QScreen *> screens = QGuiApplication::screens();
|
||||
@@ -1549,7 +1551,10 @@ bool OBSBasic::InitBasicConfigDefaults()
|
||||
config_set_default_bool(basicConfig, "AdvOut", "UseRescale", false);
|
||||
config_set_default_uint(basicConfig, "AdvOut", "TrackIndex", 1);
|
||||
config_set_default_uint(basicConfig, "AdvOut", "VodTrackIndex", 2);
|
||||
- config_set_default_string(basicConfig, "AdvOut", "Encoder", "obs_x264");
|
||||
+
|
||||
+ bool useX264 = EncoderAvailable("obs_x264");
|
||||
+ config_set_default_string(basicConfig, "AdvOut", "Encoder",
|
||||
+ (useX264 ? "obs_x264" : "ffmpeg_openh264"));
|
||||
|
||||
config_set_default_string(basicConfig, "AdvOut", "RecType", "Standard");
|
||||
|
||||
@@ -1672,7 +1677,6 @@ bool OBSBasic::InitBasicConfigDefaults()
|
||||
return true;
|
||||
}
|
||||
|
||||
-extern bool EncoderAvailable(const char *encoder);
|
||||
extern bool update_nvenc_presets(ConfigFile &config);
|
||||
|
||||
void OBSBasic::InitBasicConfigDefaults2()
|
||||
@@ -1681,12 +1685,14 @@ void OBSBasic::InitBasicConfigDefaults2()
|
||||
"Pre23Defaults");
|
||||
bool useNV = EncoderAvailable("ffmpeg_nvenc") && !oldEncDefaults;
|
||||
|
||||
+ bool useX264 = EncoderAvailable("obs_x264");
|
||||
+ const char *h264_fallback =
|
||||
+ (useX264 ? SIMPLE_ENCODER_X264 : SIMPLE_ENCODER_OPENH264);
|
||||
+
|
||||
config_set_default_string(basicConfig, "SimpleOutput", "StreamEncoder",
|
||||
- useNV ? SIMPLE_ENCODER_NVENC
|
||||
- : SIMPLE_ENCODER_X264);
|
||||
+ useNV ? SIMPLE_ENCODER_NVENC : h264_fallback);
|
||||
config_set_default_string(basicConfig, "SimpleOutput", "RecEncoder",
|
||||
- useNV ? SIMPLE_ENCODER_NVENC
|
||||
- : SIMPLE_ENCODER_X264);
|
||||
+ useNV ? SIMPLE_ENCODER_NVENC : h264_fallback);
|
||||
|
||||
const char *aac_default = "ffmpeg_aac";
|
||||
if (EncoderAvailable("CoreAudio_AAC"))
|
||||
@@ -1967,7 +1973,7 @@ void OBSBasic::OBSInit()
|
||||
|
||||
InitBasicConfigDefaults2();
|
||||
|
||||
- CheckForSimpleModeX264Fallback();
|
||||
+ CheckForSimpleModeH264Fallback();
|
||||
|
||||
blog(LOG_INFO, STARTUP_SEPARATOR);
|
||||
|
||||
diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp
|
||||
index cbce69832..74c6eb144 100644
|
||||
--- a/UI/window-basic-main.hpp
|
||||
+++ b/UI/window-basic-main.hpp
|
||||
@@ -66,6 +66,7 @@ class OBSBasicVCamConfig;
|
||||
|
||||
#define SIMPLE_ENCODER_X264 "x264"
|
||||
#define SIMPLE_ENCODER_X264_LOWCPU "x264_lowcpu"
|
||||
+#define SIMPLE_ENCODER_OPENH264 "ffmpeg_openh264"
|
||||
#define SIMPLE_ENCODER_QSV "qsv"
|
||||
#define SIMPLE_ENCODER_QSV_AV1 "qsv_av1"
|
||||
#define SIMPLE_ENCODER_NVENC "nvenc"
|
||||
@@ -434,7 +435,7 @@ private:
|
||||
void DeleteProfile(const char *profile_name, const char *profile_dir);
|
||||
void RefreshProfiles();
|
||||
void ChangeProfile();
|
||||
- void CheckForSimpleModeX264Fallback();
|
||||
+ void CheckForSimpleModeH264Fallback();
|
||||
|
||||
void SaveProjectNow();
|
||||
|
||||
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
|
||||
index b056938e7..548e5f45f 100644
|
||||
--- a/UI/window-basic-settings-stream.cpp
|
||||
+++ b/UI/window-basic-settings-stream.cpp
|
||||
@@ -1362,7 +1362,9 @@ static QString get_adv_fallback(const QString &enc)
|
||||
return "com.apple.videotoolbox.videoencoder.ave.avc";
|
||||
if (enc == "obs_qsv11_av1")
|
||||
return "obs_qsv11";
|
||||
- return "obs_x264";
|
||||
+ if (EncoderAvailable("obs_x264"))
|
||||
+ return "obs_x264";
|
||||
+ return "ffmpeg_openh264";
|
||||
}
|
||||
|
||||
static QString get_adv_audio_fallback(const QString &enc)
|
||||
@@ -1391,7 +1393,9 @@ static QString get_simple_fallback(const QString &enc)
|
||||
return SIMPLE_ENCODER_APPLE_H264;
|
||||
if (enc == SIMPLE_ENCODER_QSV_AV1)
|
||||
return SIMPLE_ENCODER_QSV;
|
||||
- return SIMPLE_ENCODER_X264;
|
||||
+ if (EncoderAvailable("obs_x264"))
|
||||
+ return SIMPLE_ENCODER_X264;
|
||||
+ return SIMPLE_ENCODER_OPENH264;
|
||||
}
|
||||
|
||||
bool OBSBasicSettings::ServiceSupportsCodecCheck()
|
||||
@@ -1585,8 +1589,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
|
||||
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
|
||||
|
||||
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.X264.H264"),
|
||||
- QString(SIMPLE_ENCODER_X264));
|
||||
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.OpenH264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_OPENH264));
|
||||
+ if (service_supports_encoder(vcodecs, "obs_x264"))
|
||||
+ ui->simpleOutStrEncoder->addItem(
|
||||
+ ENCODER_STR("Software.X264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_X264));
|
||||
if (service_supports_encoder(vcodecs, "obs_qsv11"))
|
||||
ui->simpleOutStrEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
|
||||
index 48bb4bac6..51fe280db 100644
|
||||
--- a/UI/window-basic-settings.cpp
|
||||
+++ b/UI/window-basic-settings.cpp
|
||||
@@ -3831,6 +3831,11 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
do. This only exists to make sure that the x264 preset doesn't
|
||||
get overwritten with empty data. */
|
||||
presetType = "ApplePreset";
|
||||
+ else if (encoder == SIMPLE_ENCODER_OPENH264)
|
||||
+ /* The OpenH264 encoder does not have presets like the other encoders
|
||||
+ do. This only exists to make sure that the x264 preset doesn't
|
||||
+ get overwritten with empty data. */
|
||||
+ presetType = "OpenH264Preset";
|
||||
else
|
||||
presetType = "Preset";
|
||||
|
||||
@@ -5286,11 +5291,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
ADD_QUALITY("HQ");
|
||||
ADD_QUALITY("Lossless");
|
||||
|
||||
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.X264.H264"),
|
||||
- QString(SIMPLE_ENCODER_X264));
|
||||
- ui->simpleOutRecEncoder->addItem(
|
||||
- ENCODER_STR("SoftwareLowCPU.X264.H264"),
|
||||
- QString(SIMPLE_ENCODER_X264_LOWCPU));
|
||||
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.OpenH264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_OPENH264));
|
||||
+ if (EncoderAvailable("obs_x264")) {
|
||||
+ ui->simpleOutRecEncoder->addItem(
|
||||
+ ENCODER_STR("Software.X264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_X264));
|
||||
+ ui->simpleOutRecEncoder->addItem(
|
||||
+ ENCODER_STR("SoftwareLowCPU.X264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_X264_LOWCPU));
|
||||
+ }
|
||||
if (EncoderAvailable("obs_qsv11"))
|
||||
ui->simpleOutRecEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
@@ -5463,6 +5473,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
|
||||
|
||||
defaultPreset = "balanced";
|
||||
preset = curAMDAV1Preset;
|
||||
+ } else if (encoder == SIMPLE_ENCODER_OPENH264) {
|
||||
+ ui->simpleOutPreset->setVisible(false);
|
||||
+ ui->simpleOutPresetLabel->setVisible(false);
|
||||
} else {
|
||||
|
||||
#define PRESET_STR(val) \
|
||||
--
|
||||
2.39.2
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "obs-studio.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
From 1e2fc3ade587a7a7c24e4238996ca382c4c0f719 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <ngompa@fedoraproject.org>
|
||||
Date: Tue, 27 Dec 2022 09:15:08 -0500
|
||||
Subject: [PATCH] CMake: Use the system version of QRCodeGenCPP dependency
|
||||
|
||||
---
|
||||
CMakeLists.txt | 9 +++++++--
|
||||
cmake/legacy.cmake | 12 ++++++++----
|
||||
src/forms/ConnectInfo.cpp | 2 +-
|
||||
3 files changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/plugins/obs-websocket/CMakeLists.txt b/plugins/obs-websocket/CMakeLists.txt
|
||||
index 871f92b..288cc87 100644
|
||||
--- a/plugins/obs-websocket/CMakeLists.txt
|
||||
+++ b/plugins/obs-websocket/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@ endif()
|
||||
|
||||
# Submodule deps check
|
||||
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp")
|
||||
- message(FATAL_ERROR "obs-websocket submodule deps not available.")
|
||||
+ message(INFO "obs-websocket submodule deps not available.")
|
||||
endif()
|
||||
|
||||
# Find Qt
|
||||
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
|
||||
# Find nlohmann JSON
|
||||
find_package(nlohmann_json 3 REQUIRED)
|
||||
|
||||
+# Find qrcodegencpp
|
||||
+find_package(qrcodegencpp REQUIRED)
|
||||
+
|
||||
# Find WebSocket++
|
||||
find_package(Websocketpp 0.8 REQUIRED)
|
||||
|
||||
@@ -157,7 +160,9 @@ target_link_libraries(
|
||||
Qt::Network
|
||||
nlohmann_json::nlohmann_json
|
||||
Websocketpp::Websocketpp
|
||||
- Asio::Asio)
|
||||
+ Asio::Asio
|
||||
+ qrcodegencpp
|
||||
+ )
|
||||
|
||||
set_target_properties_obs(
|
||||
obs-websocket
|
||||
diff --git a/plugins/obs-websocket/cmake/legacy.cmake b/plugins/obs-websocket/cmake/legacy.cmake
|
||||
index ab25ec7..98ca704 100644
|
||||
--- a/plugins/obs-websocket/cmake/legacy.cmake
|
||||
+++ b/plugins/obs-websocket/cmake/legacy.cmake
|
||||
@@ -10,7 +10,7 @@ endif()
|
||||
|
||||
# Submodule deps check
|
||||
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp)
|
||||
- obs_status(FATAL_ERROR "obs-websocket submodule deps not available.")
|
||||
+ obs_status(INFO "obs-websocket submodule deps not available.")
|
||||
endif()
|
||||
|
||||
# Plugin tests flag
|
||||
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
|
||||
# Find nlohmann JSON
|
||||
find_package(nlohmann_json 3 REQUIRED)
|
||||
|
||||
+# Find qrcodegencpp
|
||||
+find_package(qrcodegencpp REQUIRED)
|
||||
+
|
||||
# Find WebSocket++
|
||||
find_package(Websocketpp 0.8 REQUIRED)
|
||||
|
||||
@@ -129,8 +132,7 @@ target_sources(
|
||||
src/utils/Compat.cpp
|
||||
src/utils/Compat.h
|
||||
src/utils/Utils.h
|
||||
- deps/qr/cpp/QrCode.cpp
|
||||
- deps/qr/cpp/QrCode.hpp)
|
||||
+ )
|
||||
|
||||
target_link_libraries(
|
||||
obs-websocket
|
||||
@@ -142,7 +144,9 @@ target_link_libraries(
|
||||
Qt::Network
|
||||
nlohmann_json::nlohmann_json
|
||||
Websocketpp::Websocketpp
|
||||
- Asio::Asio)
|
||||
+ Asio::Asio
|
||||
+ qrcodegencpp
|
||||
+ )
|
||||
|
||||
target_compile_features(obs-websocket PRIVATE cxx_std_17)
|
||||
|
||||
diff --git a/plugins/obs-websocket/src/forms/ConnectInfo.cpp b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
index ddb979d..89a04c4 100644
|
||||
--- a/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
+++ b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
@@ -21,9 +21,9 @@ with this program. If not, see <https://www.gnu.org/licenses/>
|
||||
#include <QPainter>
|
||||
#include <QUrl>
|
||||
#include <obs-module.h>
|
||||
+#include <qrcodegencpp/QrCode.hpp>
|
||||
|
||||
#include "ConnectInfo.h"
|
||||
-#include "../../deps/qr/cpp/QrCode.hpp"
|
||||
#include "../obs-websocket.h"
|
||||
#include "../Config.h"
|
||||
#include "../utils/Platform.h"
|
||||
--
|
||||
2.39.2
|
||||
@@ -1,151 +0,0 @@
|
||||
%global obswebsocketver 5.2.2
|
||||
|
||||
Name: obs-studio
|
||||
Version: 29.1.1
|
||||
Release: 1%?dist
|
||||
Summary: Open Broadcaster Software Studio
|
||||
License: GPL-2.0-or-later and ISC and MIT and BSD-1-Clause and BSD-2-Clause and BSD-3-Clause and BSL-1.0 and LGPL-2.1-or-later and CC0-1.0 and (CC0-1.0 or OpenSSL or Apache-2.0) and LicenseRef-Fedora-Public-Domain and (BSD-3-Clause or GPL-2.0-only)
|
||||
URL: https://obsproject.com/
|
||||
Source0: https://github.com/obsproject/obs-studio/archive/refs/tags/%version.tar.gz
|
||||
Source1: https://github.com/obsproject/obs-websocket/archive/%obswebsocketver/obs-websocket-%obswebsocketver.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: cmake >= 3.16
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: asio-devel
|
||||
BuildRequires: fdk-aac-free-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: jansson-devel >= 2.5
|
||||
BuildRequires: json-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: libGL-devel
|
||||
BuildRequires: libglvnd-devel
|
||||
BuildRequires: librist-devel
|
||||
BuildRequires: srt-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libv4l-devel
|
||||
BuildRequires: libva-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libxcb-devel
|
||||
BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libXinerama-devel
|
||||
BuildRequires: libxkbcommon-devel
|
||||
BuildRequires: luajit-devel
|
||||
BuildRequires: mbedtls-devel
|
||||
BuildRequires: pciutils-devel
|
||||
BuildRequires: pipewire-devel
|
||||
BuildRequires: pipewire-jack-audio-connection-kit-devel
|
||||
BuildRequires: pulseaudio-libs-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: libqrcodegencpp-devel
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: qt6-qtbase-private-devel
|
||||
BuildRequires: qt6-qtsvg-devel
|
||||
BuildRequires: qt6-qtwayland-devel
|
||||
BuildRequires: speexdsp-devel
|
||||
BuildRequires: swig
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: wayland-devel
|
||||
BuildRequires: websocketpp-devel
|
||||
BuildRequires: ffmpeg-free-devel
|
||||
BuildRequires: x264-devel
|
||||
BuildRequires: vlc-devel
|
||||
# websocket deps
|
||||
BuildRequires: nlohmann-json-devel websocketpp-devel asio-devel
|
||||
|
||||
# Ensure QtWayland is installed when libwayland-client is installed
|
||||
Requires: (qt6-qtwayland%{?_isa} if libwayland-client%{?_isa})
|
||||
# For icon folder heirarchy
|
||||
Requires: hicolor-icon-theme
|
||||
# Virtual camera support
|
||||
Recommends: kmod-v4l2loopback
|
||||
# NVIDIA Hardware accelerated encoding: CUDA
|
||||
Suggests: xorg-x11-drv-nvidia-cuda
|
||||
# obs-studio-plugin-vlc-video
|
||||
# We dlopen() libvlc
|
||||
Requires: libvlc.so.%{libvlc_soversion}%{?lib64_suffix}
|
||||
|
||||
|
||||
# These are modified sources that can't be easily unbundled
|
||||
## License: MIT and CC0-1.0
|
||||
## Newer version in Fedora with the same licensing
|
||||
## Request filed upstream for fixing it: https://github.com/simd-everywhere/simde/issues/999
|
||||
Provides: bundled(simde) = 0.7.1
|
||||
## License: BSL-1.0
|
||||
Provides: bundled(decklink-sdk)
|
||||
## License: CC0-1.0 or OpenSSL or Apache-2.0
|
||||
Provides: bundled(blake2)
|
||||
## License: MIT
|
||||
Provides: bundled(json11)
|
||||
## License: MIT
|
||||
Provides: bundled(libcaption)
|
||||
## License: ISC
|
||||
Provides: bundled(libff)
|
||||
## License: BSD-1-Clause
|
||||
Provides: bundled(uthash)
|
||||
## License: BSD-3-Clause
|
||||
Provides: bundled(rnnoise)
|
||||
## License: LGPL-2.1-or-later and LicenseRef-Fedora-Public-Domain
|
||||
Provides: bundled(librtmp)
|
||||
## License: MIT
|
||||
Provides: bundled(libnsgif)
|
||||
## License: MIT
|
||||
## Windows only dependency
|
||||
## Support for Linux will also unbundle it
|
||||
## Cf. https://github.com/obsproject/obs-studio/pull/8327
|
||||
Provides: bundled(intel-mediasdk)
|
||||
|
||||
%description
|
||||
Open Broadcaster Software is free and open source
|
||||
software for video recording and live streaming.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n obs-studio-%{?snapdate:%{commit}}%{!?snapdate:%{version_no_tilde}}
|
||||
# Prepare plugins/obs-websocket
|
||||
tar -xf %SOURCE1 --strip-components=1 -C plugins/obs-websocket/
|
||||
ls plugins/obs-websocket/
|
||||
sed -e 's|OBS_MULTIARCH_SUFFIX|LIB_SUFFIX|g' -i cmake/Modules/ObsHelpers.cmake
|
||||
# Kill rpath settings
|
||||
sed -e '\|set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OBS_LIBRARY_DESTINATION}")|d' -i cmake/Modules/ObsHelpers_Linux.cmake
|
||||
# touch the missing submodules
|
||||
touch plugins/obs-browser/CMakeLists.txt
|
||||
# remove -Werror flag to mitigate FTBFS with ffmpeg 5.1
|
||||
sed -e 's|-Werror-implicit-function-declaration||g' -i cmake/Modules/CompilerConfig.cmake
|
||||
sed -e '/-Werror/d' -i cmake/Modules/CompilerConfig.cmake
|
||||
|
||||
|
||||
%build
|
||||
%cmake -B build -S . \
|
||||
-DUNIX_STRUCTURE=1 -GNinja \
|
||||
-DCMAKE_SKIP_RPATH=1 \
|
||||
-DBUILD_BROWSER=OFF \
|
||||
-DENABLE_JACK=ON \
|
||||
-DENABLE_LIBFDK=ON \
|
||||
-DENABLE_AJA=OFF \
|
||||
-DOBS_VERSION_OVERRIDE="%version-%release" \
|
||||
-Wno-dev \
|
||||
-DOpenGL_GL_PREFERENCE=GLVND
|
||||
%cmake_build
|
||||
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
|
||||
%files
|
||||
%doc README.rst
|
||||
%license COPYING plugins/{{enc-amf,obs-websocket}/LICENSE,obs-{browser,filters,outputs}/COPYING}
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue May 23 2023 windowsboy111 <windowsboy111@fyralabs.com> - 29.1.1-1
|
||||
- Initial package
|
||||
- Ref: https://pkgs.rpmfusion.org/cgit/free/obs-studio-freeworld.git/tree/obs-studio-freeworld.spec
|
||||
- Ref: https://gitlab.archlinux.org/archlinux/packaging/packages/obs-studio/-/blob/main/PKGBUILD
|
||||
@@ -1,2 +0,0 @@
|
||||
rpm.version(gh("obsproject/obs-studio"));
|
||||
rpm.global("obswebsocketver", gh("obsproject/obs-websocket"));
|
||||
@@ -1,9 +1,5 @@
|
||||
// let v = gh("VOICEVOX/voicevox");
|
||||
// rpm.version(v);
|
||||
// let engines = get(`https://raw.githubusercontent.com/VOICEVOX/voicevox/${v}/package.json`).json().engines;
|
||||
// rpm.define("nodev", find(">=([\\d.]+)", engines.node, 1));
|
||||
// rpm.define("nodev", find(">=([\\d.]+)", engines.npm, 1));
|
||||
let v = "0.14.7";
|
||||
let v = gh("VOICEVOX/voicevox");
|
||||
rpm.global("ver", v);
|
||||
let engines = get(`https://raw.githubusercontent.com/VOICEVOX/voicevox/${v}/package.json`).json().engines;
|
||||
print(find(">=([\\d.]+)", engines.node, 1));
|
||||
print(find(">=([\\d.]+)", engines.npm, 1));
|
||||
rpm.global("nodev", find(">=([\\d.]+)", engines.node, 1));
|
||||
rpm.global("npmv", find(">=([\\d.]+)", engines.npm, 1));
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
%global nodev 16.17.0
|
||||
%global npmv 8.11.0
|
||||
%global ver 0.14.8
|
||||
%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: voicevox
|
||||
Version: 0.14.7
|
||||
Release: 1%?dist
|
||||
Version: %ver
|
||||
Release: 4%?dist
|
||||
Summary: Free Japanese text-to-speech editor
|
||||
License: LGPL-3.0
|
||||
URL: https://voicevox.hiroshiba.jp
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: blahaj
|
||||
Version: 2.0.2
|
||||
Version: 2.1.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Gay sharks at your local terminal - lolcat-like CLI tool
|
||||
License: BSD-2-Clause
|
||||
URL: https://blahaj.queer.software
|
||||
Source0: https://github.com/GeopJr/BLAHAJ/archive/refs/tags/v%version.tar.gz
|
||||
BuildRequires: crystal gcc libyaml-devel pcre-devel
|
||||
BuildRequires: crystal gcc libyaml-devel pcre-devel libgc-devel libevent-devel
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%description
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: crystal
|
||||
Version: 1.8.2
|
||||
Release: 2%{?dist}
|
||||
Version: 1.10.1
|
||||
Release: 1%{?dist}
|
||||
Summary: The Crystal Programming Language
|
||||
License: Apache-2.0
|
||||
URL: https://crystal-lang.org/
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: dart
|
||||
Version: 3.0.5
|
||||
Version: 3.1.5
|
||||
Release: 1%{?dist}
|
||||
Summary: The Dart Language
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: budgie-extras
|
||||
Version: 1.6.0
|
||||
Release: 2%{?dist}
|
||||
Version: 1.7.0
|
||||
Release: 1%{?dist}
|
||||
|
||||
License: GPL-3.0
|
||||
Summary: Additional Budgie Desktop enhancements for user experience
|
||||
@@ -51,7 +51,6 @@ Requires: budgie-applet-recentlyused
|
||||
Requires: budgie-applet-rotation-lock
|
||||
Requires: budgie-applet-showtime
|
||||
Requires: budgie-applet-takeabreak
|
||||
Requires: budgie-applet-trash
|
||||
Requires: budgie-applet-visualspace
|
||||
Requires: budgie-applet-wallstreet
|
||||
Requires: budgie-applet-window-shuffler
|
||||
@@ -208,14 +207,6 @@ upside down, dim the screen, lock screen or show a countdown message on break
|
||||
time. The applet can be accessed quickly from the panel to temporarily switch
|
||||
it off.
|
||||
|
||||
%package -n budgie-applet-trash
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet allows access to trash capabilities for the Budgie Desktop
|
||||
%description -n budgie-applet-trash
|
||||
The trash applet allows the user access the desktop trash capabilities
|
||||
from the panel including the ability to delete and restore files stored
|
||||
in the trash folder.
|
||||
|
||||
%package -n budgie-applet-visualspace
|
||||
Requires: budgie-extras-common
|
||||
Summary: Shows the current workspace(s), as bullet(s)
|
||||
@@ -393,9 +384,6 @@ rm -f %{buildroot}%{_bindir}/quickchar
|
||||
%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.takeabreak.gschema.xml
|
||||
%{_datadir}/pixmaps/takeabreak*.svg
|
||||
|
||||
%files -n budgie-applet-trash
|
||||
%{_libdir}/budgie-desktop/plugins/budgie-trash
|
||||
|
||||
%files -n budgie-applet-visualspace
|
||||
%config %{_sysconfdir}/xdg/autostart/visualspace-autostart.desktop
|
||||
%{_libdir}/budgie-desktop/plugins/budgie-visualspace
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu3
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu4
|
||||
%global _hardened_build 0
|
||||
|
||||
Name: compiz9
|
||||
@@ -77,7 +77,7 @@ Compiz Config Manager helps configure Compiz Window Manager, version 0.9 series
|
||||
Compiz 9 branch, which is newer then what Fedora packages and required by Unity 7.6 and higher.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n compiz
|
||||
%autosetup -p1 -n compiz-%version+%(echo %_ubuntu_rel | sed 's@-0ubuntu.@@')
|
||||
|
||||
%build
|
||||
# The driver blacklist hack is obselete
|
||||
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
diff --git a/src/Core/Package.vala b/src/Core/Package.vala
|
||||
index 62d206fa..cbf05983 100644
|
||||
--- a/src/Core/Package.vala
|
||||
+++ b/src/Core/Package.vala
|
||||
@@ -42,8 +42,29 @@ public enum RuntimeStatus {
|
||||
}
|
||||
|
||||
public class AppCenterCore.Package : Object {
|
||||
+ // locally installed packages
|
||||
public const string APPCENTER_PACKAGE_ORIGIN = "appcenter";
|
||||
- private const string ELEMENTARY_STABLE_PACKAGE_ORIGIN = "elementary-stable-jammy-main";
|
||||
+
|
||||
+ // Fedora repositories
|
||||
+ private const string FEDORA_STABLE_PACKAGE_ORIGIN = "fedora";
|
||||
+ private const string FEDORA_UPDATES_PACKAGE_ORIGIN = "updates";
|
||||
+ private const string FEDORA_TESTING_PACKAGE_ORIGIN = "updates-testing";
|
||||
+
|
||||
+ // RPMFusion repositories
|
||||
+ private const string RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-free";
|
||||
+ private const string RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-free-updates";
|
||||
+ private const string RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-free-updates-testing";
|
||||
+ private const string RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-nonfree";
|
||||
+ private const string RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates";
|
||||
+ private const string RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates-testing";
|
||||
+
|
||||
+ // Ultramarine repositories
|
||||
+ private const string ULTRAMARINE_PACKAGE_ORIGIN = "ultramarine";
|
||||
+ private const string AKMODS_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:akmods-secureboot";
|
||||
+ private const string KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:kmodtool-secureboot";
|
||||
+
|
||||
+ // Terra repositories
|
||||
+ private const string TERRA_PACKAGE_ORIGIN = "terra";
|
||||
|
||||
public RuntimeStatus runtime_status { get; set; default = RuntimeStatus.UP_TO_DATE; }
|
||||
|
||||
@@ -216,8 +237,12 @@ public class AppCenterCore.Package : Object {
|
||||
public bool is_native {
|
||||
get {
|
||||
switch (component.get_origin ()) {
|
||||
- case APPCENTER_PACKAGE_ORIGIN:
|
||||
- case ELEMENTARY_STABLE_PACKAGE_ORIGIN:
|
||||
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
|
||||
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
|
||||
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
|
||||
+ case ULTRAMARINE_PACKAGE_ORIGIN:
|
||||
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
|
||||
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -328,12 +353,33 @@ public class AppCenterCore.Package : Object {
|
||||
owned get {
|
||||
unowned string origin = component.get_origin ();
|
||||
if (backend is PackageKitBackend) {
|
||||
- if (origin == APPCENTER_PACKAGE_ORIGIN) {
|
||||
- return _("AppCenter");
|
||||
- } else if (origin == ELEMENTARY_STABLE_PACKAGE_ORIGIN) {
|
||||
- return _("elementary Updates");
|
||||
- } else if (origin.has_prefix ("ubuntu-")) {
|
||||
- return _("Ubuntu (non-curated)");
|
||||
+ switch (origin) {
|
||||
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
|
||||
+ return "Fedora";
|
||||
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
|
||||
+ return "Fedora Updates";
|
||||
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
|
||||
+ return "Fedora Updates (Testing)";
|
||||
+ case RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion";
|
||||
+ case RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion Updates";
|
||||
+ case RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion Updates (Testing)";
|
||||
+ case RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion (Non-free Software)";
|
||||
+ case RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion (Non-free Software) Updates";
|
||||
+ case RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN:
|
||||
+ return "RPMFusion (Non-free Software) Updates (Testing)";
|
||||
+ case ULTRAMARINE_PACKAGE_ORIGIN:
|
||||
+ return "Ultramarine";
|
||||
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
|
||||
+ return "Secureboot support for akmods";
|
||||
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
|
||||
+ return "Secureboot support for kmodtool";
|
||||
+ case TERRA_PACKAGE_ORIGIN:
|
||||
+ return "Terra";
|
||||
}
|
||||
} else if (backend is FlatpakBackend) {
|
||||
var fp_package = this as FlatpakPackage;
|
||||
@@ -342,8 +388,6 @@ public class AppCenterCore.Package : Object {
|
||||
}
|
||||
|
||||
return fp_package.remote_title;
|
||||
- } else if (backend is UbuntuDriversBackend) {
|
||||
- return _("Ubuntu Drivers");
|
||||
}
|
||||
|
||||
return _("Unknown Origin (non-curated)");
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "elementary-appcenter.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# false positives
|
||||
addFilter("E: invalid-lc-messages-dir /usr/share/locale/bh*")
|
||||
addFilter("E: invalid-lc-messages-dir /usr/share/locale/mo*")
|
||||
|
||||
# don't care about manpages
|
||||
addFilter("W: no-manual-page-for-binary io.elementary.appcenter*")
|
||||
|
||||
# don't care about no documentation for sub-packages
|
||||
addFilter("W: no-documentation*")
|
||||
|
||||
@@ -0,0 +1,313 @@
|
||||
%global appname io.elementary.appcenter
|
||||
|
||||
Name: elementary-appcenter
|
||||
Summary: Software Center from elementary
|
||||
Version: 7.4.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
Provides: appcenter = %{version}-%{release}
|
||||
Obsoletes: appcenter < 7.2.1-2
|
||||
|
||||
URL: https://github.com/elementary/appcenter
|
||||
Source0: %url/archive/%{version}/appcenter-%{version}.tar.gz
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: meson
|
||||
BuildRequires: vala
|
||||
|
||||
BuildRequires: appstream-vala
|
||||
|
||||
BuildRequires: pkgconfig(appstream) >= 0.10.0
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(flatpak)
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(granite) >= 6.0.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(libsoup-2.4)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: pkgconfig(packagekit-glib2)
|
||||
BuildRequires: pkgconfig(polkit-gobject-1)
|
||||
|
||||
Requires: PackageKit
|
||||
Requires: hicolor-icon-theme
|
||||
|
||||
%description
|
||||
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
|
||||
|
||||
|
||||
%package gnome-shell-search-provider
|
||||
Summary: Software Center from elementary (gnome-shell search provider)
|
||||
|
||||
Provides: appcenter-gnome-shell-search-provider = %{version}-%{release}
|
||||
Obsoletes: appcenter-gnome-shell-search-provider < 7.2.1-2
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: gnome-shell
|
||||
|
||||
Supplements: (%{name} and gnome-shell)
|
||||
|
||||
%description gnome-shell-search-provider
|
||||
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
|
||||
|
||||
This package contains the gnome-shell search provider.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n appcenter-%version
|
||||
|
||||
|
||||
%build
|
||||
%meson -Dpayments=false -Dcurated=false -Dhide_upstream_distro_apps=false
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang %{appname}
|
||||
|
||||
# remove empty hidden apps file
|
||||
rm -r %{buildroot}/%{_sysconfdir}/%{appname}/appcenter.hiddenapps
|
||||
|
||||
# create autostart entry symlink
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/xdg/autostart/
|
||||
|
||||
ln -s %{_datadir}/applications/%{appname}-daemon.desktop \
|
||||
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
|
||||
|
||||
%check
|
||||
desktop-file-validate \
|
||||
%{buildroot}/%{_datadir}/applications/%{appname}*.desktop
|
||||
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{appname}.lang
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
|
||||
%dir %{_sysconfdir}/%{appname}
|
||||
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
|
||||
%{_bindir}/%{appname}
|
||||
|
||||
%{_datadir}/applications/%{appname}*.desktop
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/%{appname}{,-symbolic}.svg
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%{_datadir}/polkit-1/actions/%{appname}.policy
|
||||
|
||||
|
||||
%files gnome-shell-search-provider
|
||||
%{_datadir}/gnome-shell/search-providers/%{appname}.search-provider.ini
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jun 07 2022 Fabio Valentini <decathorpe@gmail.com> - 3.10.0-1
|
||||
- Update to version 3.10.0.
|
||||
|
||||
* Tue Dec 14 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.1-1
|
||||
- Update to version 3.9.1.
|
||||
|
||||
* Wed Nov 24 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.0-1
|
||||
- Update to version 3.9.0.
|
||||
|
||||
* Sat Oct 30 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.2-1
|
||||
- Update to version 3.8.2.
|
||||
|
||||
* Wed Oct 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.1-1
|
||||
- Update to version 3.8.1.
|
||||
|
||||
* Tue Sep 28 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.0-1
|
||||
- Update to version 3.8.0.
|
||||
|
||||
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-3
|
||||
- Mark flatpak sources in the UI.
|
||||
|
||||
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-2
|
||||
- Hard-code Fedora instead of ubuntu repository names.
|
||||
|
||||
* Tue Aug 31 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-1
|
||||
- Update to version 3.7.1.
|
||||
|
||||
* Fri Aug 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.0-1
|
||||
- Update to version 3.7.0.
|
||||
|
||||
* Tue Aug 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.3-1
|
||||
- Update to version 3.6.3.
|
||||
|
||||
* Wed Aug 11 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.2-1
|
||||
- Update to version 3.6.2.
|
||||
|
||||
* Thu Aug 05 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.1-1
|
||||
- Update to version 3.6.1.
|
||||
|
||||
* Fri Jul 16 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.0-1
|
||||
- Update to version 3.6.0.
|
||||
|
||||
* Fri Oct 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.1-1
|
||||
- Update to version 3.5.1.
|
||||
|
||||
* Wed Oct 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.0-1
|
||||
- Update to version 3.5.0.
|
||||
|
||||
* Fri Aug 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.2-1
|
||||
- Update to version 3.4.2.
|
||||
|
||||
* Thu Jul 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.1-1
|
||||
- Update to version 3.4.1.
|
||||
|
||||
* Thu May 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.0-1
|
||||
- Update to version 3.4.0.
|
||||
|
||||
* Thu Apr 30 2020 Fabio Valentini <decathorpe@gmail.com> - 3.3.0-1
|
||||
- Update to version 3.3.0.
|
||||
|
||||
* Thu Apr 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.4-1
|
||||
- Update to version 3.2.4.
|
||||
|
||||
* Thu Apr 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.3-1
|
||||
- Update to version 3.2.3.
|
||||
|
||||
* Mon Mar 23 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.2-1
|
||||
- Update to version 3.2.2.
|
||||
|
||||
* Fri Feb 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.1-1
|
||||
- Update to version 3.2.1.
|
||||
|
||||
* Fri Feb 15 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.1-1
|
||||
- Update to version 3.1.1.
|
||||
|
||||
* Wed Jan 02 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.0-1
|
||||
- Update to version 3.1.0.
|
||||
- Remove empty blacklist file.
|
||||
|
||||
* Fri Nov 30 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-2
|
||||
- Drop elementaryOS blacklist in favor of the version shipped with appcenter.
|
||||
|
||||
* Thu Oct 25 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-1
|
||||
- Update to version 3.0.1.
|
||||
|
||||
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-2
|
||||
- Add missing autostart entry symlink for the daemon.
|
||||
|
||||
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-1
|
||||
- Update to version 3.0.
|
||||
- Add gnome-shell search provider sub-package.
|
||||
- Explicitly disable payment system and curated applications.
|
||||
- Update blacklist file to current version from elementaryOS.
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.9-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Jun 13 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-2
|
||||
- Rebuild for granite5 soname bump.
|
||||
|
||||
* Thu Mar 08 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-1
|
||||
- Update to version 0.2.9.
|
||||
- Add patch to fix build with the newer vala and PackageKit on f28+.
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 26 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.8-1
|
||||
- Update to version 0.2.8.
|
||||
|
||||
* Tue Nov 07 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.7-1
|
||||
- Update to version 0.2.7.
|
||||
|
||||
* Fri Nov 03 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-2
|
||||
- Rebuild for granite soname bump.
|
||||
|
||||
* Mon Sep 18 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-1
|
||||
- Update to version 0.2.6.
|
||||
|
||||
* Sat Aug 05 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.5-1
|
||||
- Update to version 0.2.5.
|
||||
- Include fedora-specific blacklist adapted from elementaryOS.
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue Jul 04 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.4-1
|
||||
- Update to version 0.2.4.
|
||||
|
||||
* Thu Jun 01 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.3-1
|
||||
- Update to version 0.2.3.
|
||||
|
||||
* Mon May 22 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.2-1
|
||||
- Update to version 0.2.2.
|
||||
|
||||
* Sat May 20 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.1-1
|
||||
- Update to version 0.2.1.
|
||||
|
||||
* Wed May 17 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2-1
|
||||
- Update to version 0.2.
|
||||
|
||||
* Thu Mar 16 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.4-1
|
||||
- Update to version 0.1.4.
|
||||
- Depend on generic icon again, since it _should_ work.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.3-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Jan 27 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-7
|
||||
- Add patch to rename generic icon to something branded.
|
||||
|
||||
* Wed Jan 25 2017 Fabio Valentini <decathorpe@gmail.com>
|
||||
- Remove explicit BR: /usr/bin/pkgconfig.
|
||||
|
||||
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-6
|
||||
- Explicitly depend on /usr/bin/pkg-config.
|
||||
|
||||
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-5
|
||||
- Add missing scriptlets.
|
||||
|
||||
* Sat Jan 21 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-4
|
||||
- Include icon to fix appdata metadata generation.
|
||||
|
||||
* Tue Jan 10 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-3
|
||||
- Clean up spec file.
|
||||
|
||||
* Sat Dec 24 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-2
|
||||
- Enable libunity support.
|
||||
|
||||
* Mon Dec 05 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-1
|
||||
- Update to version 0.1.3.
|
||||
|
||||
* Sun Nov 20 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-2
|
||||
- Build out of tree.
|
||||
|
||||
* Sat Oct 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-1
|
||||
- Update to version 0.1.2.
|
||||
|
||||
* Fri Oct 07 2016 Neal Gompa <ngompa13@gmail.com> - 0.1.1-4
|
||||
- Add patch to support AppStream 0.10.0 in F25 (LP#1626398)
|
||||
|
||||
* Thu Sep 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-3
|
||||
- Mass rebuild.
|
||||
|
||||
* Wed Sep 28 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-2
|
||||
- Spec file cleanups.
|
||||
|
||||
* Tue Sep 27 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-1
|
||||
- Update to version 0.1.1.
|
||||
|
||||
* Sat Sep 17 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-2
|
||||
- Require PackageKit.
|
||||
|
||||
* Thu Aug 18 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-1
|
||||
- Update to version 0.1.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("elementary/appcenter"));
|
||||
@@ -5,15 +5,13 @@
|
||||
|
||||
Name: elementary-calendar
|
||||
Summary: Desktop calendar app designed for elementary
|
||||
Version: 6.1.2
|
||||
Release: 2%{?dist}
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/calendar
|
||||
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
Patch0: https://patch-diff.githubusercontent.com/raw/elementary/calendar/pull/758.patch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libappstream-glib
|
||||
@@ -21,6 +19,8 @@ BuildRequires: pkgconfig(champlain-0.12)
|
||||
BuildRequires: pkgconfig(libecal-2.0)
|
||||
BuildRequires: pkgconfig(granite)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
# BuildRequires: pkgconfig(libportal)
|
||||
BuildRequires: pkgconfig(libportal-gtk3)
|
||||
BuildRequires: folks-devel
|
||||
BuildRequires: libgee-devel
|
||||
BuildRequires: pkgconfig(geocode-glib-2.0)
|
||||
@@ -69,20 +69,17 @@ This package contains the development files.
|
||||
|
||||
|
||||
%check
|
||||
desktop-file-validate \
|
||||
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
desktop-file-validate \
|
||||
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
|
||||
%dnl desktop-file-validate %{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{appname}.desktop
|
||||
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{appname}.lang
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
|
||||
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
%dnl %config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
|
||||
|
||||
%{_bindir}/%{appname}
|
||||
|
||||
@@ -92,7 +89,7 @@ appstream-util validate-relax --nonet \
|
||||
%{_datadir}/applications/%{appname}.desktop
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
%files devel
|
||||
%{_includedir}/%{name}/
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: elementary-code
|
||||
Summary: Code editor from elementary
|
||||
Version: 7.0.0
|
||||
Release: 3%{?dist}
|
||||
Version: 7.1.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{srcname}
|
||||
@@ -90,6 +90,7 @@ This package contains the development headers.
|
||||
%{_datadir}/gtksourceview-4/styles/elementary-light.xml
|
||||
%{_datadir}/metainfo/io.elementary.code.metainfo.xml
|
||||
%{_datadir}/polkit-1/actions/%{appname}.policy
|
||||
%{_mandir}/man1/%{appname}.1.gz
|
||||
|
||||
%files devel
|
||||
%{_includedir}/codecore.h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: elementary-files
|
||||
Summary: File manager from elementary
|
||||
Version: 6.3.1
|
||||
Release: 2%{?dist}
|
||||
Version: 6.5.2
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{srcname}
|
||||
@@ -101,7 +101,7 @@ desktop-file-validate \
|
||||
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
|
||||
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%post portal
|
||||
@@ -127,7 +127,7 @@ appstream-util validate-relax --nonet \
|
||||
%{_datadir}/dbus-1/services/%{appname}.service
|
||||
%{_datadir}/dbus-1/services/%{appname}.Filemanager1.service
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%{_datadir}/polkit-1/actions/%{appname}.policy
|
||||
|
||||
%files portal
|
||||
|
||||
@@ -3,14 +3,15 @@
|
||||
|
||||
Name: elementary-greeter
|
||||
Summary: LightDM Login Screen for the elementary desktop
|
||||
Version: 6.1.1
|
||||
Release: 3%{?dist}
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/greeter
|
||||
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
Source1: 40-%{appname}.conf
|
||||
Patch0: https://github.com/elementary/greeter/compare/93bbca3..1b3879d.patch
|
||||
|
||||
Patch0: https://github.com/elementary/greeter/commit/dbd9b6f9701f5992c3b3257c025b9cd80d041cc8.patch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
@@ -35,9 +36,9 @@ BuildRequires: pkgconfig(granite) >= 5.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(liblightdm-gobject-1)
|
||||
BuildRequires: pkgconfig(mutter-clutter-12)
|
||||
BuildRequires: pkgconfig(mutter-cogl-12)
|
||||
BuildRequires: pkgconfig(mutter-cogl-pango-12)
|
||||
BuildRequires: pkgconfig(mutter-clutter-13)
|
||||
BuildRequires: pkgconfig(mutter-cogl-13)
|
||||
BuildRequires: pkgconfig(mutter-cogl-pango-13)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
|
||||
Provides: pantheon-greeter = %{version}-%{release}
|
||||
@@ -69,7 +70,7 @@ The elementary Greeter is a styled Login Screen for LightDM.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{srcname}-%{version} -p1
|
||||
%autosetup -p1 -n %{srcname}-%{version}
|
||||
|
||||
|
||||
%build
|
||||
@@ -90,8 +91,7 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d/
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{appname}.lang
|
||||
@@ -105,7 +105,7 @@ appstream-util validate-relax --nonet \
|
||||
%{_sbindir}/%{appname}
|
||||
|
||||
%{_datadir}/xgreeters/%{appname}.desktop
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%{_datadir}/lightdm/lightdm.conf.d/40-%appname.conf
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-icon-theme
|
||||
Summary: Icons from the Elementary Project
|
||||
Version: 7.3.0
|
||||
Release: 2%{?dist}
|
||||
Version: 7.3.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/icons
|
||||
@@ -72,7 +72,7 @@ touch %{buildroot}/%{_datadir}/icons/elementary/icon-theme.cache
|
||||
%check
|
||||
# ignore validation until appstream-glib knows the "icon-theme" component type
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml || :
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml || :
|
||||
|
||||
|
||||
%transfiletriggerin -- %{_datadir}/icons/elementary
|
||||
@@ -96,7 +96,7 @@ gtk-update-icon-cache --force %{_datadir}/icons/elementary &>/dev/null || :
|
||||
%{_datadir}/icons/elementary/cursor.theme
|
||||
%{_datadir}/icons/elementary/index.theme
|
||||
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
%files gimp-palette
|
||||
%{_datadir}/gimp/2.0/palettes/elementary.gpl
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
|
||||
Name: elementary-notifications
|
||||
Version: 6.0.3
|
||||
Release: 2%{?dist}
|
||||
Version: 7.0.1
|
||||
Release: 1%{?dist}
|
||||
Summary: GTK Notification server for Pantheon
|
||||
|
||||
License: GPL-3.0
|
||||
@@ -42,6 +42,10 @@ Provides: %{name} = %{version}-%{release}
|
||||
%meson_install
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %buildroot%_datadir/metainfo/%appname.metainfo.xml
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
@@ -52,7 +56,7 @@ Provides: %{name} = %{version}-%{release}
|
||||
|
||||
%config %{_sysconfdir}/xdg/autostart/%{appname}.desktop
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_metainfodir}/%{appname}.appdata.xml
|
||||
%{_metainfodir}/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-onboarding
|
||||
Summary: Onboarding app for new users
|
||||
Version: 7.1.0
|
||||
Release: 2%{?dist}
|
||||
Version: 7.2.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/onboarding
|
||||
|
||||
@@ -12,15 +12,19 @@ License: LGPL-2.0-or-later
|
||||
URL: https://github.com/elementary/photos
|
||||
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
# RIP the publishing plugins (sorry for the "wide" patch, having issues with just the relevant commits)
|
||||
Patch0: https://github.com/elementary/photos/compare/7261606a05d1f41116aba5c86b62d1f739419ed1..09e55943b266bc2861b913251cb834169d81743e.patch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: meson >= 0.46.0
|
||||
BuildRequires: vala
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: git-core
|
||||
|
||||
BuildRequires: pkgconfig(gee-0.8) >= 0.8.5
|
||||
BuildRequires: pkgconfig(geocode-glib-1.0)
|
||||
BuildRequires: pkgconfig(geocode-glib-2.0)
|
||||
BuildRequires: pkgconfig(gexiv2) >= 0.4.90
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.20
|
||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.20
|
||||
@@ -33,17 +37,12 @@ BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.0.0
|
||||
BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= 1.0.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.6.0
|
||||
BuildRequires: pkgconfig(gudev-1.0) >= 145
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(libexif) >= 0.6.16
|
||||
BuildRequires: pkgconfig(libgphoto2) >= 2.4.2
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(libraw) >= 0.13.2
|
||||
BuildRequires: pkgconfig(libsoup-2.4) >= 2.26.0
|
||||
BuildRequires: pkgconfig(libwebp) >= 0.4.4
|
||||
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.32
|
||||
BuildRequires: pkgconfig(rest-0.7) >= 0.7
|
||||
BuildRequires: pkgconfig(sqlite3) >= 3.5.9
|
||||
BuildRequires: pkgconfig(webkit2gtk-4.0) >= 2.0.0
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
|
||||
@@ -53,7 +52,8 @@ Foundation.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{srcname}-%{version} -p1
|
||||
%autosetup -n %{srcname}-%{version} -N
|
||||
git apply %PATCH0 # The .patch file has Git binary patches, so we need to apply it manually with Git
|
||||
|
||||
|
||||
%build
|
||||
@@ -94,7 +94,6 @@ appstream-util validate-relax --nonet \
|
||||
%{_datadir}/applications/%{appname}.desktop
|
||||
%{_datadir}/applications/%{appname}-viewer.desktop
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}-extras.gschema.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
|
||||
%{_datadir}/icons/hicolor/*/apps/%{appname}-viewer.svg
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
|
||||
+15
-6
@@ -3,8 +3,8 @@
|
||||
%global iface io.elementary.SettingsDaemon.AccountsService
|
||||
|
||||
Name: elementary-settings-daemon
|
||||
Version: 1.2.0
|
||||
Release: 2%{?dist}
|
||||
Version: 1.3.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Settings Daemon and Portal for Pantheon
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
@@ -25,6 +25,7 @@ BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(granite) >= 5.3.0
|
||||
BuildRequires: pkgconfig(libgeoclue-2.0)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(fwupd)
|
||||
|
||||
Requires: xdg-desktop-portal
|
||||
|
||||
@@ -47,25 +48,27 @@ Requires: xdg-desktop-portal
|
||||
|
||||
%check
|
||||
desktop-file-validate \
|
||||
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}.desktop
|
||||
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
|
||||
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%post
|
||||
%systemd_user_post %{appname}.xdg-desktop-portal.service
|
||||
%systemd_post %{appname}.check-for-firmware-updates.timer
|
||||
|
||||
|
||||
%preun
|
||||
%systemd_user_preun %{appname}.xdg-desktop-portal.service
|
||||
%systemd_preun %{appname}.check-for-firmware-updates.timer
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
|
||||
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}.desktop
|
||||
%config(noreplace) %{_datadir}/applications/%{appname}.desktop
|
||||
|
||||
%{_bindir}/%{appname}
|
||||
|
||||
@@ -75,10 +78,16 @@ appstream-util validate-relax --nonet \
|
||||
%{_datadir}/dbus-1/interfaces/%{iface}.xml
|
||||
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.elementary.settings-daemon.service
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%{_datadir}/xdg-desktop-portal/portals/%{appname}.portal
|
||||
|
||||
%{_userunitdir}/%{appname}.xdg-desktop-portal.service
|
||||
%{_unitdir}/%{appname}.check-for-firmware-updates.service
|
||||
%{_unitdir}/%{appname}.check-for-firmware-updates.timer
|
||||
|
||||
%{_sysconfdir}/xdg/autostart/%appname.desktop
|
||||
|
||||
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-sideload
|
||||
Summary: Sideload flatpaks on Pantheon
|
||||
Version: 6.2.0
|
||||
Release: 2%{?dist}
|
||||
Version: 6.2.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/sideload
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-videos
|
||||
Summary: Video player and library app from elementary
|
||||
Version: 2.9.1
|
||||
Release: 2%{?dist}
|
||||
Version: 3.0.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/%{srcname}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
Name: gala
|
||||
Summary: Gala window manager
|
||||
Version: 7.0.3
|
||||
Release: 2%{?dist}
|
||||
Version: 7.1.2
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/gala
|
||||
@@ -92,7 +92,7 @@ desktop-file-validate \
|
||||
%{buildroot}/%{_datadir}/applications/gala*.desktop
|
||||
|
||||
#appstream-util validate-relax --nonet \
|
||||
# %%{buildroot}/%%{_datadir}/metainfo/%%{name}.appdata.xml
|
||||
# %%{buildroot}/%%{_datadir}/metainfo/%%{name}.metainfo.xml
|
||||
|
||||
|
||||
%files -f gala.lang
|
||||
@@ -108,7 +108,7 @@ desktop-file-validate \
|
||||
%{_datadir}/applications/gala*.desktop
|
||||
%{_datadir}/glib-2.0/schemas/20_elementary.pantheon.wm.gschema.override
|
||||
%{_datadir}/glib-2.0/schemas/org.pantheon.desktop.gala.gschema.xml
|
||||
%{_datadir}/metainfo/%{name}.appdata.xml
|
||||
%{_datadir}/metainfo/%{name}.metainfo.xml
|
||||
|
||||
%files libs
|
||||
%doc AUTHORS README.md
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: pantheon-tweaks
|
||||
Version: 1.1.0
|
||||
Version: 1.1.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A system settings panel for the Pantheon desktop environment
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Name: switchboard-plug-a11y
|
||||
Summary: Switchboard Accessibility plug
|
||||
Version: 2.3.0
|
||||
Release: 5%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-a11y
|
||||
|
||||
+9
-5
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-applications
|
||||
Summary: Switchboard Applications plug
|
||||
Version: 6.0.1
|
||||
Release: 4%{?dist}
|
||||
Version: 7.0.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-applications
|
||||
@@ -25,7 +25,9 @@ BuildRequires: pkgconfig(flatpak) >= 1.1.2
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.34
|
||||
BuildRequires: pkgconfig(granite)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(switchboard-2.0)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
|
||||
Requires: switchboard%{?_isa}
|
||||
Supplements: switchboard%{?_isa}
|
||||
@@ -47,15 +49,16 @@ that allows the user to manage application settings.
|
||||
%install
|
||||
%meson_install
|
||||
%fdupes %buildroot%_datadir/locale/
|
||||
mv %buildroot%_datadir/metainfo/%plug_rdnn.appdata.xml %buildroot%_datadir/metainfo/%plug_rdnn.metainfo.xml || true
|
||||
%find_lang %{plug_name}-plug
|
||||
|
||||
# remove the specified stock icon from appdata (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
sed -i '/icon type="stock"/d' %{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
@@ -64,7 +67,8 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/*/apps/io.elementary.settings.applications.svg
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Name: switchboard-plug-bluetooth
|
||||
Summary: Switchboard Bluetooth plug
|
||||
Version: 2.3.6
|
||||
Release: 4%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-bluetooth
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Name: switchboard-plug-datetime
|
||||
Summary: Switchboard Date & Time Plug
|
||||
Version: 2.2.0
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-datetime
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-display
|
||||
Summary: Switchboard Display plug
|
||||
Version: 2.3.3
|
||||
Release: 2%{?dist}
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-display
|
||||
@@ -52,7 +52,7 @@ them.
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
@@ -61,7 +61,7 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-keyboard
|
||||
Summary: Switchboard Keyboard plug
|
||||
Version: 3.1.1
|
||||
Release: 2%?dist
|
||||
Version: 3.2.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-keyboard
|
||||
@@ -59,7 +59,7 @@ same time. Keyboard shortcuts are also part of this plug.
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
@@ -67,8 +67,8 @@ appstream-util validate-relax --nonet \
|
||||
%license COPYING
|
||||
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{_datadir}/glib-2.0/schemas/keyboard.gschema.xml
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -15,6 +15,8 @@ License: GPL-3.0-or-later
|
||||
URL: https://github.com/elementary/switchboard-plug-network
|
||||
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
Patch0: https://github.com/elementary/switchboard-plug-network/pull/357.patch
|
||||
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: meson
|
||||
|
||||
+5
-5
@@ -6,8 +6,8 @@
|
||||
|
||||
Name: switchboard-plug-onlineaccounts
|
||||
Summary: Switchboard Online Accounts plug
|
||||
Version: 6.5.2
|
||||
Release: 2%{?dist}
|
||||
Version: 6.5.3
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-onlineaccounts
|
||||
@@ -53,19 +53,19 @@ Manage online accounts and connected applications.
|
||||
%find_lang %{plug_name}-plug
|
||||
|
||||
# remove the specified stock icon from appdata (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-pantheon-shell
|
||||
Summary: Switchboard Pantheon Shell plug
|
||||
Version: 6.4.0
|
||||
Release: 2%{?dist}
|
||||
Version: 6.5.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-pantheon-shell
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-security-privacy
|
||||
Summary: Switchboard Security & Privacy Plug
|
||||
Version: 7.0.0
|
||||
Release: 1%?dist
|
||||
Version: 7.1.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/%name
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-sound
|
||||
Summary: Switchboard Sound Plug
|
||||
Version: 2.3.2
|
||||
Release: 2%?dist
|
||||
Version: 2.3.3
|
||||
Release: 1%{?dist}
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-sound
|
||||
@@ -27,6 +27,7 @@ BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(libcanberra)
|
||||
BuildRequires: pkgconfig(libcanberra-gtk)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(libpulse-mainloop-glib)
|
||||
BuildRequires: pkgconfig(switchboard-2.0)
|
||||
|
||||
@@ -52,12 +53,11 @@ A sound plug for Switchboard.
|
||||
%find_lang %{plug_name}-plug
|
||||
|
||||
# remove the specified stock icon from appdata (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
@@ -66,7 +66,7 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Name: switchboard-plug-tweaks
|
||||
Summary: Switchboard Tweaks Plug
|
||||
Version: 1.1.0
|
||||
Version: 1.1.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global plug_name wallet
|
||||
%global plug_rdnn io.elementary.switchboard.wallet
|
||||
|
||||
%global commit bfe73dfb95d9b46a0a34e0db35a178233c8552b0
|
||||
%global commit 50582fc7ee43a4b47647d04786dcf1d0eb45af36
|
||||
|
||||
Name: switchboard-plug-wallet
|
||||
Summary: Switchboard Wallet Plug
|
||||
|
||||
+9
-6
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-bluetooth
|
||||
Summary: Bluetooth Indicator for wingpanel
|
||||
Version: 2.1.8
|
||||
Release: 4%{?dist}
|
||||
Version: 7.0.1
|
||||
Release: 1%{?dist}
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/%{name}
|
||||
@@ -48,13 +48,13 @@ A bluetooth indicator for wingpanel.
|
||||
%fdupes %buildroot%_datadir/locale/
|
||||
%find_lang bluetooth-indicator
|
||||
|
||||
# remove the specified stock icon from appdata (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f bluetooth-indicator.lang
|
||||
@@ -63,8 +63,11 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/wingpanel/libbluetooth.so
|
||||
|
||||
%_bindir/io.elementary.bluetooth
|
||||
%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.bluetooth.gschema.xml
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/applications/io.elementary.bluetooth.desktop
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%_sysconfdir/xdg/autostart/io.elementary.bluetooth-daemon.desktop
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
Name: wingpanel-indicator-datetime
|
||||
Summary: Datetime Indicator for wingpanel
|
||||
Version: 2.4.1
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-datetime
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-network
|
||||
Summary: Network Indicator for wingpanel
|
||||
Version: 7.0.1
|
||||
Release: 2%{?dist}
|
||||
Version: 7.0.2
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-network
|
||||
|
||||
+5
-5
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-nightlight
|
||||
Summary: Night Light Indicator for wingpanel
|
||||
Version: 2.1.1
|
||||
Release: 2%{?dist}
|
||||
Version: 2.1.2
|
||||
Release: 1%{?dist}
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-nightlight
|
||||
@@ -48,8 +48,8 @@ A wingpanel indicator for Night Light.
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%dnl appstream-util validate-relax --nonet \
|
||||
%dnl %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f nightlight-indicator.lang
|
||||
@@ -58,7 +58,7 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/wingpanel/libnightlight.so
|
||||
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
+5
-4
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-notifications
|
||||
Summary: Notifications Indicator for wingpanel
|
||||
Version: 6.0.7
|
||||
Release: 2%{?dist}
|
||||
Version: 7.1.0
|
||||
Release: 1%{?dist}
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-notifications
|
||||
@@ -52,7 +52,7 @@ A notifications indicator for wingpanel.
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f notifications-indicator.lang
|
||||
@@ -61,7 +61,8 @@ appstream-util validate-relax --nonet \
|
||||
|
||||
%{_libdir}/wingpanel/libnotifications.so
|
||||
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-power
|
||||
Summary: Power indicator for wingpanel
|
||||
Version: 6.2.0
|
||||
Release: 2%?dist
|
||||
Version: 6.2.1
|
||||
Release: 1%{?dist}
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-power
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-sound
|
||||
Summary: Sound Indicator for wingpanel
|
||||
Version: 6.0.2
|
||||
Release: 2%?dist
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{name}
|
||||
@@ -50,12 +50,12 @@ A sound indicator for wingpanel.
|
||||
%find_lang sound-indicator
|
||||
|
||||
# remove the specified stock icon from appdata (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%files -f sound-indicator.lang
|
||||
@@ -65,7 +65,7 @@ appstream-util validate-relax --nonet \
|
||||
%{_libdir}/wingpanel/libsound.so
|
||||
|
||||
%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.sound.gschema.xml
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_datadir}/metainfo/%{appname}.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -6,13 +6,12 @@ launcher.}
|
||||
|
||||
Name: wingpanel
|
||||
Summary: Stylish top panel
|
||||
Version: 3.0.3
|
||||
Release: %autorelease
|
||||
Version: 3.0.5
|
||||
Release: 1%{?dist}
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel
|
||||
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
Patch0: https://github.com/elementary/wingpanel/compare/f8b98a5..0cbf289.patch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gettext
|
||||
@@ -28,9 +27,9 @@ BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.32
|
||||
BuildRequires: pkgconfig(granite) >= 5.4.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
|
||||
BuildRequires: pkgconfig(mutter-clutter-12)
|
||||
BuildRequires: pkgconfig(mutter-cogl-12)
|
||||
BuildRequires: pkgconfig(mutter-cogl-pango-12)
|
||||
BuildRequires: pkgconfig(mutter-clutter-13)
|
||||
BuildRequires: pkgconfig(mutter-cogl-13)
|
||||
BuildRequires: pkgconfig(mutter-cogl-pango-13)
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: xdg-desktop-portal-pantheon
|
||||
Version: 7.0.0
|
||||
Release: 1%?dist
|
||||
Version: 7.1.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Pantheon XDG Desktop Portals
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/elementary/portals
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
%global forgeurl https://invent.kde.org/system/liquidshell
|
||||
%global commit 9b14b9766f5d8db2b81c9bc7d4163dc07534402c
|
||||
%global scm git
|
||||
%forgemeta
|
||||
|
||||
Name: kde-liquidshell
|
||||
Version: 1.8.1
|
||||
Version: 1.9.0
|
||||
Release: %autorelease
|
||||
Summary: Basic desktop shell using QtWidgets
|
||||
Provides: liquidshell = %version
|
||||
|
||||
License: GPL-3.0
|
||||
URL: %{forgeurl}
|
||||
Source0: %{forgeurl}/-/archive/%{commit}/liquidshell-%{commit}.tar.gz
|
||||
URL: https://invent.kde.org/system/liquidshell
|
||||
Source0: https://download.kde.org/stable/liquidshell/liquidshell-%version.tar.xz
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: libappstream-glib
|
||||
@@ -49,7 +44,7 @@ Recommends: polkit-kde
|
||||
liquidshell is a basic Desktop Shell implemented using QtWidgets.
|
||||
|
||||
%prep
|
||||
%autosetup -n liquidshell-%{commit}
|
||||
%autosetup -n liquidshell-%version
|
||||
|
||||
%build
|
||||
%cmake_kf5 -DWITH_PACKAGEKIT=true
|
||||
@@ -69,6 +64,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
|
||||
%{_datadir}/knotifications5/liquidshell.notifyrc
|
||||
%{_metainfodir}/org.kde.liquidshell.appdata.xml
|
||||
%{_datadir}/xsessions/liquidshell-session.desktop
|
||||
%{_datadir}/locale/*/LC_MESSAGES/liquidshell.mo
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
let html = get("https://download.kde.org/stable/liquidshell/");
|
||||
rpm.version(find(`>liquidshell-([.\d]+)\.tar\.xz</a>`, html, 1));
|
||||
@@ -1,6 +1,6 @@
|
||||
%global forgeurl https://github.com/KDE/latte-dock/
|
||||
|
||||
%global commit 6532af166f2c6524827c8e1c22af6b9c2accc11f
|
||||
%global commit 7b210a9970360c3cde833e8b76f9231b4db5ae29
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date %(date '+%Y%m%d')
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
Name: abacus
|
||||
Version: 0.1.0
|
||||
Release: %autorelease
|
||||
Summary: Calculate Stuff
|
||||
URL: https://github.com/tau-OS/abacus
|
||||
Source0: %url/archive/refs/tags/v%{version}.tar.gz
|
||||
License: GPL-3.0
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gettext
|
||||
BuildRequires: cmake
|
||||
BuildRequires: vala
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(libhelium-1)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
Requires: libhelium
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%forgeautosetup
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang com.fyralabs.Abacus
|
||||
|
||||
%post
|
||||
/usr/bin/update-desktop-database &> /dev/null || :
|
||||
|
||||
%postun
|
||||
/usr/bin/update-desktop-database &> /dev/null || :
|
||||
|
||||
%files -f com.fyralabs.Abacus.lang
|
||||
%license LICENSE
|
||||
%{_bindir}/com.fyralabs.Abacus
|
||||
%{_datadir}/applications/com.fyralabs.Abacus.desktop
|
||||
%{_datadir}/icons/hicolor/scalable/apps/com.fyralabs.Abacus*
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/com.fyralabs.Abacus*
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,5 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "abacus.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("tau-OS/abacus"));
|
||||
@@ -0,0 +1,5 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "kairos.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
Name: kairos
|
||||
Version: 0.1.0
|
||||
Release: %autorelease
|
||||
Summary: Check the weather outside
|
||||
URL: https://github.com/tau-OS/kairos
|
||||
Source0: %url/archive/refs/tags/v%{version}.tar.gz
|
||||
License: GPL-3.0
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gettext
|
||||
BuildRequires: cmake
|
||||
BuildRequires: vala
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(libgeoclue-2.0)
|
||||
BuildRequires: pkgconfig(geocode-glib-2.0)
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(libbismuth-1)
|
||||
BuildRequires: pkgconfig(libhelium-1)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(gweather4)
|
||||
Requires: libhelium
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
%prep
|
||||
%forgeautosetup
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%post
|
||||
/usr/bin/update-desktop-database &> /dev/null || :
|
||||
|
||||
%postun
|
||||
/usr/bin/update-desktop-database &> /dev/null || :
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_bindir}/com.fyralabs.Kairos
|
||||
%{_datadir}/applications/com.fyralabs.Kairos.desktop
|
||||
%{_datadir}/dbus-1/services/com.fyralabs.Kairos.service
|
||||
%{_datadir}/icons/hicolor/*/apps/com.fyralabs.Kairos*
|
||||
%{_datadir}/metainfo/com.fyralabs.Kairos.appdata.xml
|
||||
%{_datadir}/glib-2.0/schemas/com.fyralabs.Kairos.gschema.xml
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("tau-OS/kairos"));
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri
|
||||
%global commit 8a2f908c306ec63a7a0f14c247fa1676c655c7ce
|
||||
%global commit 4ea3c0ce0ac7a51c41ac015c7973db703d20c7d3
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri
|
||||
Version: 0.1.2
|
||||
Release: 2%?dist
|
||||
Version: 0.1.4
|
||||
Release: 1%{?dist}
|
||||
Summary: A convergent desktop environment by Ubports
|
||||
|
||||
License: GPLv3 AND LGPLv3
|
||||
@@ -87,6 +87,7 @@ Lomiri, Previously Unity8 is a convergent desktop environment built with Qt.
|
||||
|
||||
%package tests
|
||||
Summary: Test files for %{name}
|
||||
Requires: dbus-test-runner
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description tests
|
||||
@@ -94,6 +95,10 @@ The %{name}-tests package contains test files for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -n lomiri-%commit -p1
|
||||
# Ubuntu specific, may have to be updated every background image change on Gnome or Ubuntu
|
||||
for i in $(grep -rl warty-final-ubuntu); do
|
||||
sed -i 's!warty-final-ubuntu.png!f38/default/f38-01-day.png!' $i
|
||||
done
|
||||
|
||||
%build
|
||||
%cmake -DWerror=OFF -DDEB_HOST_MULTIARCH=%{_arch} -DCMAKE_INSTALL_LOCALSTATEDIR="%{_localstatedir}" -DDISPLAYED_DISTRO_NAME="Fedora" -DUSE_MIROIL=1
|
||||
@@ -130,6 +135,8 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
|
||||
%{_libdir}/lomiri/qml/LightDM/
|
||||
%{_libdir}/lomiri/qml/Lomiri/
|
||||
%{_libdir}/lomiri/qml/Powerd/
|
||||
%{_libdir}/lomiri/qml/ProcessControl/libProcessControl-qml.so
|
||||
%{_libdir}/lomiri/qml/ProcessControl/qmldir
|
||||
%{_libdir}/lomiri/qml/ScreenshotDirectory/
|
||||
%{_libdir}/lomiri/qml/SessionBroadcast/
|
||||
%{_libdir}/lomiri/qml/UInput/
|
||||
@@ -141,6 +148,7 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
|
||||
%{_datadir}/accountsservice/interfaces/com.lomiri.shell.AccountsService.xml
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/dbus-1/interfaces/com.lomiri.shell.AccountsService.xml
|
||||
%{_datadir}/dbus-1/interfaces/com.lomiri.ProcessControl.xml
|
||||
%{_datadir}/lightdm/greeters/lomiri-greeter.desktop
|
||||
%{_datadir}/lightdm/lightdm.conf.d/51-lomiri-greeter.conf
|
||||
%dir %{_datadir}/lomiri
|
||||
@@ -162,6 +170,7 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
|
||||
%{_sharedstatedir}/lomiri/version
|
||||
%{_sharedstatedir}/polkit-1/localauthority/10-vendor.d/50-com.lomiri.wizard.pkla
|
||||
|
||||
|
||||
%files tests
|
||||
%{_bindir}/lomiri-mock-indicator-service
|
||||
%{_libdir}/lomiri/qml/mocks/
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "mate-tweak.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: mate-tweak
|
||||
Version: 22.10.0
|
||||
Release: 1%?dist
|
||||
Summary: Tweak tool for the MATE Desktop
|
||||
License: GPL-2.0
|
||||
URL: https://github.com/ubuntu-mate/mate-tweak
|
||||
Source0: %url/archive/refs/tags/%version.tar.gz
|
||||
Requires: python3
|
||||
BuildRequires: python3dist(setuptools) rpm_macro(py3_build) intltool desktop-file-utils
|
||||
|
||||
%description
|
||||
This is MATE Tweak, a fork of mintDesktop.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
python3 -m ensurepip
|
||||
python3 -m pip install distutils-extra-python
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
|
||||
%check
|
||||
desktop-file-validate %buildroot%_datadir/applications/*.desktop
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
%_bindir/%name
|
||||
%_bindir/marco-{compton,xrender,picom,glx,xr_glx_hybrid,no-composite}
|
||||
%_prefix/lib/%name/
|
||||
%_datadir/locale/*/LC_MESSAGES/%name.mo
|
||||
%_mandir/man1/marco-{glx,no-composite,xr_glx_hybrid,xrender}.1.gz
|
||||
%_mandir/man1/%name.1.gz
|
||||
%_datadir/applications/%name.desktop
|
||||
%_datadir/applications/marco-{glx,no-composite,xr_glx_hybrid,xrender}.desktop
|
||||
%_datadir/polkit-1/actions/org.mate.%name.policy
|
||||
%ghost %_prefix/lib/python3.11/site-packages/__pycache__
|
||||
%ghost %_prefix/lib/python3.11/site-packages/setup.py
|
||||
%ghost %_prefix/lib/python3.11/site-packages/mate_tweak-%version-py%python3_version.egg-info/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("ubuntu-mate/mate-tweak"));
|
||||
@@ -2,7 +2,7 @@
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: iosevka-fusion-fonts
|
||||
Version: 24.1.4
|
||||
Version: 27.3.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A custom font based on iosevka
|
||||
|
||||
|
||||
@@ -46,28 +46,28 @@ cv57 = 6 # ι iota serified flat tailed
|
||||
cv58 = 2 # λ lambda top tailed
|
||||
cv59 = 1 # μ me tailless
|
||||
cv60 = 2 # ξ xe flat top
|
||||
cv76 = 13 # 0 oval dashed forward slash
|
||||
cv79 = 2 # 3 arched
|
||||
cv81 = 2 # 5 open contour
|
||||
cv83 = 1 # 7 straight
|
||||
cv84 = 3 # 8 two asymmetric circles
|
||||
cv88 = 2 # ~ tilde low
|
||||
cv89 = 2 # * asterisk five-pointed low
|
||||
cv90 = 1 # _ underscore right below baseline
|
||||
cv91 = 1 # ^ uptick high
|
||||
cv92 = 1 # ( parentheses normal slope
|
||||
cv93 = 2 # { braces curly
|
||||
cv94 = 1 # # column straight
|
||||
cv96 = 4 # @ three-fold, tall height
|
||||
cv97 = 2 # $ dollar strike through
|
||||
VXSE = 2 # ¢ cent strike through
|
||||
cv98 = 1 # % percent dots
|
||||
cv99 = 1 # | bar natural slope
|
||||
VXSA = 1 # ' single quote straight
|
||||
VXSB = 1 # ` grave/backtick straight
|
||||
VXSC = 1 # ? smooth
|
||||
cv87 = 2 # .:; square punctuation marks
|
||||
cv86 = 2 # ijäöü square diacretics
|
||||
cv77 = 13 # 0 oval dashed forward slash
|
||||
cv80 = 2 # 3 arched
|
||||
cv82 = 2 # 5 open contour
|
||||
cv84 = 1 # 7 straight
|
||||
cv85 = 3 # 8 two asymmetric circles
|
||||
cv89 = 2 # ~ tilde low
|
||||
cv90 = 3 # * asterisk five-pointed low
|
||||
cv91 = 1 # _ underscore right below baseline
|
||||
cv92 = 1 # ^ uptick high
|
||||
cv93 = 1 # ( parentheses normal slope
|
||||
cv94 = 2 # { braces curly
|
||||
cv95 = 1 # # column straight
|
||||
cv97 = 4 # @ three-fold, tall height
|
||||
cv98 = 2 # $ dollar strike through
|
||||
VXSF = 2 # ¢ cent strike through
|
||||
cv99 = 1 # % percent dots
|
||||
VXSA = 1 # | bar natural slope
|
||||
VXSB = 1 # ' single quote straight
|
||||
VXSC = 1 # ` grave/backtick straight
|
||||
VXSD = 1 # ? smooth
|
||||
cv88 = 2 # .:; square punctuation marks
|
||||
cv87 = 2 # ijäöü square diacretics
|
||||
|
||||
[buildPlans.iosevka-fusion.variants.upright]
|
||||
cv26 = 3 # a double storey rounded
|
||||
@@ -86,12 +86,12 @@ cv46 = 1 # v straight
|
||||
cv47 = 1 # w straight
|
||||
cv48 = 1 # x straight
|
||||
cv50 = 1 # z straight
|
||||
cv72 = 3 # 1 serified with base
|
||||
cv73 = 1 # 2 straight
|
||||
cv75 = 3 # 4 semi-open contour
|
||||
cv77 = 3 # 6 straight
|
||||
cv80 = 3 # 9 straight
|
||||
cv89 = 2 # & et open top (ampersand)
|
||||
cv78 = 3 # 1 serified with base
|
||||
cv79 = 1 # 2 straight
|
||||
cv81 = 3 # 4 semi-open contour
|
||||
cv83 = 3 # 6 straight
|
||||
cv86 = 3 # 9 straight
|
||||
cv96 = 2 # & et open top (ampersand)
|
||||
|
||||
[buildPlans.iosevka-fusion.variants.italic]
|
||||
cv26 = 1 # a double storey straight
|
||||
@@ -110,12 +110,12 @@ cv46 = 2 # v curly
|
||||
cv47 = 2 # w curly short middle top
|
||||
cv48 = 2 # x curly
|
||||
cv50 = 4 # z curly
|
||||
cv72 = 2 # 1 serified no base
|
||||
cv73 = 2 # 2 curly
|
||||
cv75 = 1 # 4 closed contour crossing
|
||||
cv77 = 1 # 6 closed contour
|
||||
cv80 = 1 # 9 closed contour
|
||||
cv89 = 4 # & et open top toothed (ampersand)
|
||||
cv78 = 2 # 1 serified no base
|
||||
cv79 = 2 # 2 curly
|
||||
cv81 = 1 # 4 closed contour crossing
|
||||
cv83 = 1 # 6 closed contour
|
||||
cv86 = 1 # 9 closed contour
|
||||
cv96 = 4 # & et open top toothed (ampersand)
|
||||
|
||||
[buildPlans.iosevka-fusion.weights.thin]
|
||||
shape = 100
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
let readme = get("https://raw.githubusercontent.com/sharanda/manrope/master/README.md");
|
||||
let ver = find("## Changelog\n- v (.+?) \\/", readme, 1);
|
||||
if ver != find("Version:\\s*([\\d.]+)\n" rpm.f, 1) {
|
||||
if ver != find("Version:\\s*([\\d.]+)\n", rpm.f, 1) {
|
||||
let req = new_req("https://api.github.com/repos/sharanda/manrope/commits/HEAD");
|
||||
let sha = req.get().json().sha;
|
||||
rpm.global("commit", sha);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: sarasa-gothic-fonts
|
||||
Version: 0.41.3
|
||||
Version: 0.42.3
|
||||
Release: 1%{?dist}
|
||||
URL: https://github.com/be5invis/Sarasa-Gothic
|
||||
Source0: %url/releases/download/v%version/sarasa-gothic-ttc-%version.7z
|
||||
@@ -57,5 +57,5 @@ install -Dm644 %SOURCE3 %buildroot/%_datadir/doc/sarasa-gothic-super-fonts/
|
||||
/%{_datadir}/fonts/sarasa-gothic-super/
|
||||
|
||||
%changelog
|
||||
* Wed Apr 26 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.40.6
|
||||
* Wed Apr 26 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.40.6-1
|
||||
- Initial package
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%define osuresver 2023.605.0
|
||||
%define osuresver 2023.1023.0
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: osu-lazer
|
||||
Version: 2023.621.0
|
||||
Version: 2023.1026.0
|
||||
Release: 1%{?dist}
|
||||
Summary: The future of osu! and the beginning of an open era! Commonly known by the codename osu!lazer. Pew pew.
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001
|
||||
From: seth <getchoo@tuta.io>
|
||||
Date: Sun, 15 Jan 2023 14:47:49 -0500
|
||||
Subject: [PATCH] find cmark with pkgconfig
|
||||
|
||||
Signed-off-by: seth <getchoo@tuta.io>
|
||||
---
|
||||
cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 59 insertions(+)
|
||||
create mode 100755 cmake/Findcmark.cmake
|
||||
|
||||
diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake
|
||||
new file mode 100755
|
||||
index 00000000..9858e5df
|
||||
--- /dev/null
|
||||
+++ b/cmake/Findcmark.cmake
|
||||
@@ -0,0 +1,59 @@
|
||||
+# SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
|
||||
+# SPDX-License-Identifier: GPL-3.0-only
|
||||
+
|
||||
+#
|
||||
+# CMake module to search for the cmark library
|
||||
+#
|
||||
+
|
||||
+# first try to find cmark-config.cmake
|
||||
+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/'
|
||||
+find_package(cmark CONFIG QUIET)
|
||||
+if(cmark_FOUND AND TARGET cmark::cmark)
|
||||
+ # found it!
|
||||
+ return()
|
||||
+endif()
|
||||
+
|
||||
+find_package(PkgConfig QUIET)
|
||||
+if(PKG_CONFIG_FOUND)
|
||||
+ pkg_check_modules(PC_CMARK QUIET cmark)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT CMARK_INCLUDE_DIR)
|
||||
+ find_path(CMARK_INCLUDE_DIR
|
||||
+ NAMES cmark.h
|
||||
+ PATHS
|
||||
+ ${PC_CMARK_INCLUDEDIR}
|
||||
+ ${PC_CMARK_INCLUDE_DIRS}
|
||||
+ /usr/include
|
||||
+ /usr/local/include)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT CMARK_LIBRARY)
|
||||
+ find_library(CMARK_LIBRARY
|
||||
+ NAMES cmark
|
||||
+ HINTS
|
||||
+ ${PC_CMARK_LIBDIR}
|
||||
+ ${PC_CMARK_LIBRARY_DIRS}
|
||||
+ /usr/lib
|
||||
+ /usr/local/lib)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT TARGET cmark::cmark)
|
||||
+ add_library(cmark::cmark UNKNOWN IMPORTED)
|
||||
+ set_target_properties(cmark::cmark
|
||||
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
+ ${CMARK_INCLUDE_DIR})
|
||||
+ set_property(TARGET cmark::cmark APPEND
|
||||
+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY})
|
||||
+endif()
|
||||
+
|
||||
+include(FindPackageHandleStandardArgs)
|
||||
+find_package_handle_standard_args(cmark
|
||||
+ DEFAULT_MSG
|
||||
+ CMARK_INCLUDE_DIR
|
||||
+ CMARK_LIBRARY)
|
||||
+
|
||||
+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR)
|
||||
+
|
||||
+set(CMARK_LIBRARIES ${CMARK_LIBRARY})
|
||||
+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR})
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
%global real_name prismlauncher
|
||||
%global nice_name PrismLauncher
|
||||
|
||||
%global commit 12cd8a7bea991c2a8d4b59b1cfc9f7c246819fc9
|
||||
%global commit 3719ea21b090dd58d897b7bd5c8db4e4c54f488c
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global libnbtplusplus_commit 2203af7eeb48c45398139b583615134efd8d407f
|
||||
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
|
||||
%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345
|
||||
%global tomlplusplus_commit 0a90913abf9390b9e08ab6d3b40ac11634553f38
|
||||
%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8
|
||||
|
||||
%global commit_date %(date '+%Y%m%d')
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
@@ -24,26 +25,14 @@
|
||||
%global min_qt_version 5.12
|
||||
%endif
|
||||
|
||||
%global build_platform unknown
|
||||
|
||||
%if 0%{?fedora}
|
||||
%global build_platform Fedora
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global build_platform RedHat
|
||||
%endif
|
||||
|
||||
%if 0%{?centos}
|
||||
%global build_platform CentOS
|
||||
%endif
|
||||
%global build_platform terra
|
||||
|
||||
%if %{with qt6}
|
||||
Name: prismlauncher-nightly
|
||||
%else
|
||||
Name: prismlauncher-qt5-nightly
|
||||
%endif
|
||||
Version: 7.1^%{snapshot_info}
|
||||
Version: 8.0^%{snapshot_info}
|
||||
Release: 1%{?dist}
|
||||
Summary: Minecraft launcher with ability to manage multiple instances
|
||||
License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later
|
||||
@@ -53,6 +42,7 @@ Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commi
|
||||
Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz
|
||||
Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz
|
||||
Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz
|
||||
Patch0: 0001-find-cmark-with-pkgconfig.patch
|
||||
|
||||
BuildRequires: cmake >= 3.15
|
||||
BuildRequires: extra-cmake-modules
|
||||
@@ -74,6 +64,9 @@ BuildRequires: cmake(Qt6Core5Compat)
|
||||
%endif
|
||||
|
||||
BuildRequires: pkgconfig(libcmark)
|
||||
%if 0%{fedora} < 38
|
||||
BuildRequires: cmark
|
||||
%endif
|
||||
BuildRequires: pkgconfig(scdoc)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
@@ -93,8 +86,6 @@ Recommends: flite
|
||||
# Prism supports enabling gamemode
|
||||
Suggests: gamemode
|
||||
|
||||
Recommends: terra-fractureiser-detector
|
||||
|
||||
Conflicts: %{real_name}
|
||||
Conflicts: %{real_name}-qt5
|
||||
%if %{without qt6}
|
||||
@@ -145,27 +136,32 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt
|
||||
%check
|
||||
%ctest
|
||||
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/org.prismlauncher.PrismLauncher.metainfo.xml
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE COPYING.md
|
||||
%dir %{_datadir}/%{real_name}
|
||||
%dir %{_datadir}/%{nice_name}
|
||||
%{_bindir}/%{real_name}
|
||||
%{_datadir}/%{real_name}/NewLaunch.jar
|
||||
%{_datadir}/%{real_name}/JavaCheck.jar
|
||||
%{_datadir}/%{nice_name}/NewLaunch.jar
|
||||
%{_datadir}/%{nice_name}/JavaCheck.jar
|
||||
%{_datadir}/%{nice_name}/qtlogging.ini
|
||||
%{_datadir}/%{nice_name}/NewLaunchLegacy.jar
|
||||
%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
|
||||
%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg
|
||||
%{_datadir}/mime/packages/modrinth-mrpack-mime.xml
|
||||
%{_datadir}/PrismLauncher/qtlogging.ini
|
||||
%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories
|
||||
%{_mandir}/man?/prismlauncher.*
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 26 2023 seth <getchoo at tuta dot io> - 8.0^20230726.4f00012-1
|
||||
- remove terra-fractureiser-detector from recommends, use proper build platform,
|
||||
and add patches for epel/older fedora versions
|
||||
|
||||
* Sun Jul 23 2023 seth <getchoo at tuta dot io> - 8.0^20230722.273d75f-1
|
||||
- update submodules, version, & use autorelease
|
||||
|
||||
* Wed Jun 07 2023 seth <getchoo at tuta dot io> - 7.0^20230603.954d4d7-1
|
||||
- specify jdk 17 + cleanup outdated patches/scriptlets
|
||||
|
||||
|
||||
@@ -4,5 +4,8 @@ if filters.contains("nightly") {
|
||||
let sha = req.get().json().sha;
|
||||
rpm.global("commit", sha);
|
||||
rpm.release();
|
||||
rpm.version(`${gh("PrismLauncher/PrismLauncher")}^%{snapshot_info}`);
|
||||
let cmake = get("https://raw.githubusercontent.com/PrismLauncher/PrismLauncher/develop/CMakeLists.txt");
|
||||
let maj = find("set\\(Launcher_VERSION_MAJOR\\s+(\\d+)\\)", cmake, 1);
|
||||
let min = find("set\\(Launcher_VERSION_MINOR\\s+(\\d+)\\)", cmake, 1);
|
||||
rpm.version(`${maj}.${min}^%{snapshot_info}`);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001
|
||||
From: seth <getchoo@tuta.io>
|
||||
Date: Sun, 15 Jan 2023 14:47:49 -0500
|
||||
Subject: [PATCH] find cmark with pkgconfig
|
||||
|
||||
Signed-off-by: seth <getchoo@tuta.io>
|
||||
---
|
||||
cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 59 insertions(+)
|
||||
create mode 100755 cmake/Findcmark.cmake
|
||||
|
||||
diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake
|
||||
new file mode 100755
|
||||
index 00000000..9858e5df
|
||||
--- /dev/null
|
||||
+++ b/cmake/Findcmark.cmake
|
||||
@@ -0,0 +1,59 @@
|
||||
+# SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
|
||||
+# SPDX-License-Identifier: GPL-3.0-only
|
||||
+
|
||||
+#
|
||||
+# CMake module to search for the cmark library
|
||||
+#
|
||||
+
|
||||
+# first try to find cmark-config.cmake
|
||||
+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/'
|
||||
+find_package(cmark CONFIG QUIET)
|
||||
+if(cmark_FOUND AND TARGET cmark::cmark)
|
||||
+ # found it!
|
||||
+ return()
|
||||
+endif()
|
||||
+
|
||||
+find_package(PkgConfig QUIET)
|
||||
+if(PKG_CONFIG_FOUND)
|
||||
+ pkg_check_modules(PC_CMARK QUIET cmark)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT CMARK_INCLUDE_DIR)
|
||||
+ find_path(CMARK_INCLUDE_DIR
|
||||
+ NAMES cmark.h
|
||||
+ PATHS
|
||||
+ ${PC_CMARK_INCLUDEDIR}
|
||||
+ ${PC_CMARK_INCLUDE_DIRS}
|
||||
+ /usr/include
|
||||
+ /usr/local/include)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT CMARK_LIBRARY)
|
||||
+ find_library(CMARK_LIBRARY
|
||||
+ NAMES cmark
|
||||
+ HINTS
|
||||
+ ${PC_CMARK_LIBDIR}
|
||||
+ ${PC_CMARK_LIBRARY_DIRS}
|
||||
+ /usr/lib
|
||||
+ /usr/local/lib)
|
||||
+endif()
|
||||
+
|
||||
+if(NOT TARGET cmark::cmark)
|
||||
+ add_library(cmark::cmark UNKNOWN IMPORTED)
|
||||
+ set_target_properties(cmark::cmark
|
||||
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
+ ${CMARK_INCLUDE_DIR})
|
||||
+ set_property(TARGET cmark::cmark APPEND
|
||||
+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY})
|
||||
+endif()
|
||||
+
|
||||
+include(FindPackageHandleStandardArgs)
|
||||
+find_package_handle_standard_args(cmark
|
||||
+ DEFAULT_MSG
|
||||
+ CMARK_INCLUDE_DIR
|
||||
+ CMARK_LIBRARY)
|
||||
+
|
||||
+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR)
|
||||
+
|
||||
+set(CMARK_LIBRARIES ${CMARK_LIBRARY})
|
||||
+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR})
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
%global real_name prismlauncher
|
||||
%global nice_name PrismLauncher
|
||||
|
||||
%global commit 12cd8a7bea991c2a8d4b59b1cfc9f7c246819fc9
|
||||
%global commit 3719ea21b090dd58d897b7bd5c8db4e4c54f488c
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global libnbtplusplus_commit 2203af7eeb48c45398139b583615134efd8d407f
|
||||
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
|
||||
%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345
|
||||
%global tomlplusplus_commit 0a90913abf9390b9e08ab6d3b40ac11634553f38
|
||||
%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8
|
||||
|
||||
%global commit_date %(date '+%Y%m%d')
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
@@ -24,26 +25,14 @@
|
||||
%global min_qt_version 5.12
|
||||
%endif
|
||||
|
||||
%global build_platform unknown
|
||||
|
||||
%if 0%{?fedora}
|
||||
%global build_platform Fedora
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global build_platform RedHat
|
||||
%endif
|
||||
|
||||
%if 0%{?centos}
|
||||
%global build_platform CentOS
|
||||
%endif
|
||||
%global build_platform terra
|
||||
|
||||
%if %{with qt6}
|
||||
Name: prismlauncher-nightly
|
||||
%else
|
||||
Name: prismlauncher-qt5-nightly
|
||||
%endif
|
||||
Version: 7.1^%{snapshot_info}
|
||||
Version: 8.0^%{snapshot_info}
|
||||
Release: 1%{?dist}
|
||||
Summary: Minecraft launcher with ability to manage multiple instances
|
||||
License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later
|
||||
@@ -53,6 +42,7 @@ Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commi
|
||||
Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz
|
||||
Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz
|
||||
Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz
|
||||
Patch0: 0001-find-cmark-with-pkgconfig.patch
|
||||
|
||||
BuildRequires: cmake >= 3.15
|
||||
BuildRequires: extra-cmake-modules
|
||||
@@ -74,6 +64,9 @@ BuildRequires: cmake(Qt6Core5Compat)
|
||||
%endif
|
||||
|
||||
BuildRequires: pkgconfig(libcmark)
|
||||
%if 0%{fedora} < 38
|
||||
BuildRequires: cmark
|
||||
%endif
|
||||
BuildRequires: pkgconfig(scdoc)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
@@ -90,8 +83,6 @@ Requires: java-1.8.0-openjdk
|
||||
Recommends: xrandr
|
||||
# libflite needed for using narrator in minecraft
|
||||
Recommends: flite
|
||||
|
||||
Recommends: terra-fractureiser-detector
|
||||
# Prism supports enabling gamemode
|
||||
Suggests: gamemode
|
||||
|
||||
@@ -145,27 +136,32 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt
|
||||
%check
|
||||
%ctest
|
||||
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/org.prismlauncher.PrismLauncher.metainfo.xml
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE COPYING.md
|
||||
%dir %{_datadir}/%{real_name}
|
||||
%dir %{_datadir}/%{nice_name}
|
||||
%{_bindir}/%{real_name}
|
||||
%{_datadir}/%{real_name}/NewLaunch.jar
|
||||
%{_datadir}/%{real_name}/JavaCheck.jar
|
||||
%{_datadir}/%{nice_name}/NewLaunch.jar
|
||||
%{_datadir}/%{nice_name}/JavaCheck.jar
|
||||
%{_datadir}/%{nice_name}/qtlogging.ini
|
||||
%{_datadir}/%{nice_name}/NewLaunchLegacy.jar
|
||||
%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
|
||||
%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg
|
||||
%{_datadir}/mime/packages/modrinth-mrpack-mime.xml
|
||||
%{_datadir}/PrismLauncher/qtlogging.ini
|
||||
%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories
|
||||
%{_mandir}/man?/prismlauncher.*
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 26 2023 seth <getchoo at tuta dot io> - 8.0^20230726.4f00012-1
|
||||
- remove terra-fractureiser-detector from recommends, use proper build platform,
|
||||
and add patches for epel/older fedora versions
|
||||
|
||||
* Sun Jul 23 2023 seth <getchoo at tuta dot io> - 8.0^20230722.273d75f-1
|
||||
- update submodules, version, & use autorelease
|
||||
|
||||
* Wed Jun 07 2023 seth <getchoo at tuta dot io> - 7.0^20230603.954d4d7-1
|
||||
- specify jdk 17 + cleanup outdated patches/scriptlets
|
||||
|
||||
|
||||
@@ -4,5 +4,8 @@ if filters.contains("nightly") {
|
||||
let sha = req.get().json().sha;
|
||||
rpm.global("commit", sha);
|
||||
rpm.release();
|
||||
rpm.version(`${gh("PrismLauncher/PrismLauncher")}^%{snapshot_info}`);
|
||||
let cmake = get("https://raw.githubusercontent.com/PrismLauncher/PrismLauncher/develop/CMakeLists.txt");
|
||||
let maj = find("set\\(Launcher_VERSION_MAJOR\\s+(\\d+)\\)", cmake, 1);
|
||||
let min = find("set\\(Launcher_VERSION_MINOR\\s+(\\d+)\\)", cmake, 1);
|
||||
rpm.version(`${maj}.${min}^%{snapshot_info}`);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user