mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 36bbee12fb | |||
| a8529beb7e | |||
| 31e60240b6 | |||
| e67d6dcd5e | |||
| 9eb115defa |
@@ -29,7 +29,6 @@ body:
|
||||
description: Which version of Terra are you using?
|
||||
options:
|
||||
- frawhide
|
||||
- f44
|
||||
- f43
|
||||
- f42
|
||||
- el10
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: bazzite-portal
|
||||
Version: 0.2.2
|
||||
Release: 1%{?dist}
|
||||
Version: 0.2.1
|
||||
Release: 2%{?dist}
|
||||
Summary: Bazzite Portal is a tabbed frontend for curated script execution, with a focus on distro specific QOL shortcuts
|
||||
URL: https://github.com/ublue-os/yafti-gtk
|
||||
Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 1.0.1027
|
||||
Version: 1.0.974
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 1.0.1027
|
||||
Version: 1.0.974
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 1.0.137
|
||||
Version: 0.0.135
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 1.0.189
|
||||
Version: 1.0.188
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb
|
||||
Version: 1.0.189
|
||||
Release: 2%{?dist}
|
||||
Version: 1.0.188
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz
|
||||
@@ -37,7 +37,7 @@ mkdir -p %{buildroot}%{_datadir}/applications/
|
||||
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
||||
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
|
||||
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
|
||||
ln -s %_datadir/discord-ptb/discord-ptb %buildroot%_bindir/discord-ptb
|
||||
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
|
||||
|
||||
%files
|
||||
%_bindir/discord-ptb
|
||||
|
||||
@@ -1,16 +1,24 @@
|
||||
%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: 1.0.137
|
||||
Version: 0.0.135
|
||||
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
|
||||
Source1: https://discord.com/terms#/terms.html
|
||||
License: Proprietary
|
||||
License: https://discord.com/terms
|
||||
Requires: glibc GConf2
|
||||
Requires: nspr >= 4.13
|
||||
Requires: nss >= 3.27
|
||||
Requires: libX11 >= 1.6
|
||||
Requires: libXtst >= 1.2
|
||||
Group: Applications/Internet
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%electronmeta -D
|
||||
|
||||
%description
|
||||
All-in-one voice and text chat for gamers that's free, secure, and works on
|
||||
both your desktop and phone.
|
||||
@@ -21,24 +29,22 @@ both your desktop and phone.
|
||||
%build
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -Dpm755 ./* -t %{buildroot}%{_datadir}/discord
|
||||
mkdir -p %{buildroot}%{_appsdir}
|
||||
mkdir -p %{buildroot}%{_datadir}/discord
|
||||
cp -rv * %{buildroot}%{_datadir}/discord
|
||||
mkdir -p %{buildroot}%{_datadir}/applications/
|
||||
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
||||
mv %{buildroot}%{_datadir}/discord/discord.desktop -t %{buildroot}%{_appsdir}
|
||||
mv %{buildroot}%{_datadir}/discord/discord.png -t %{buildroot}%{_datadir}/pixmaps
|
||||
mv %{buildroot}%{_datadir}/discord/discord -t %{buildroot}%{_bindir}
|
||||
cp %{SOURCE1} -t .
|
||||
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
|
||||
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
|
||||
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
|
||||
|
||||
%files
|
||||
%license terms.html
|
||||
%{_bindir}/discord
|
||||
%_bindir/discord
|
||||
%{_datadir}/discord/
|
||||
%{_appsdir}/discord.desktop
|
||||
%{_datadir}/applications/discord.desktop
|
||||
%{_datadir}/pixmaps/discord.png
|
||||
|
||||
%changelog
|
||||
* Mon May 4 2026 Gilver E. <roachy@fyralabs.com> - 1.0.136-2
|
||||
- Updated /usr/bin symlink
|
||||
* Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1
|
||||
- Initial package
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
|
||||
|
||||
%global ver 13.3.0
|
||||
%global commit 1534a895e757b51d34ab5b1184344f04d67b8ebc
|
||||
%global commit a6694bf45ace6a8552351d5f9ca6f006786ce6f9
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20260504
|
||||
%global commit_date 20260426
|
||||
%global devel_name QtColorWidgets
|
||||
%global _distro_extra_cflags -fuse-ld=mold
|
||||
%global _distro_extra_cxxflags -fuse-ld=mold
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
%endif
|
||||
|
||||
Name: helium-browser-bin
|
||||
Version: 0.11.7.1
|
||||
Version: 0.11.5.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Private, fast, and honest web browser based on Chromium
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%global pure_protobuf_version 2.0.0
|
||||
|
||||
Name: komikku
|
||||
Version: 50.3.0
|
||||
Version: 50.2.0
|
||||
%forgemeta
|
||||
Release: 1%{?dist}
|
||||
Summary: A manga reader for GNOME
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Disable X11 for RHEL 10+
|
||||
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
%global commit 333857403f01d760d6cf6b80654cf7a734f0ece5
|
||||
%global commit 05b327c723f31d864d4e268128097c446bad4e50
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20260504
|
||||
%global commit_date 20260427
|
||||
%global ver 0.41.0
|
||||
|
||||
Name: mpv-nightly
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global metainfo_commit 92832ea1d6adc2b226742d29bc41f5156426f898
|
||||
%global metainfo_commit baf65ee3b0236d447e250294c5773f9411d85cfa
|
||||
|
||||
Name: proton-vpn-gtk-app
|
||||
Version: 4.16.1
|
||||
Version: 4.15.3
|
||||
Release: 1%{?dist}
|
||||
Summary: Official ProtonVPN Linux app
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global commit 8ce6f3eadf8e41d364d76d0853ae7f0cbb4fc23d
|
||||
%global commit_date 20260501
|
||||
%global commit 0fee3911afdaabbdcf4e8214e3472198a1c0c9db
|
||||
%global commit_date 20260304
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: rpinters
|
||||
Version: 0~%commit_date.git~%shortcommit
|
||||
Release: 1%{?dist}
|
||||
Release: 1%?dist
|
||||
Summary: Raspberry Pi printing utility module
|
||||
License: GPL-2+ AND BSD-3-Clause
|
||||
URL: https://github.com/raspberrypi-ui/rpinters
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2026-05-05
|
||||
%global ver 2026-04-27
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: rustnet
|
||||
Version: 1.3.0
|
||||
Version: 1.2.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A cross-platform network monitoring terminal UI tool built with Rust
|
||||
License: Apache-2.0 AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-3-Clause OR Apache-2.0) AND BSL-1.0 AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib
|
||||
|
||||
@@ -46,7 +46,7 @@ BuildRequires: python3-sdkmanager
|
||||
Requires: %{name}-server
|
||||
# Gradle here really wants Java 21-23 to work properly
|
||||
# Java 25 breaks the build
|
||||
BuildRequires: java-latest-openjdk-devel
|
||||
BuildRequires: java-21-openjdk-devel
|
||||
BuildConflicts: dkms-nvidia akmod-nvidia
|
||||
Requires: android-tools
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
|
||||
Name: voicevox
|
||||
Version: 0.25.2
|
||||
Release: 1%{?dist}
|
||||
Version: 0.25.1
|
||||
Release: 1%?dist
|
||||
Summary: Free Japanese text-to-speech editor
|
||||
License: LGPL-3.0
|
||||
URL: https://voicevox.hiroshiba.jp
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "anda.spec"
|
||||
spec = "rust-anda.spec"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# Work around a bug in rustc 1.95.0 with GCC
|
||||
%global toolchain clang
|
||||
%global crate anda
|
||||
|
||||
Name: anda
|
||||
Version: 0.5.4
|
||||
Release: 2%{?dist}
|
||||
Summary: Andaman Build toolchain
|
||||
SourceLicense: MIT
|
||||
License: ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND ISC AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0-or-later AND MPL-2.0-only AND Unicode-3.0 AND (Unlicense OR MIT)
|
||||
URL: https://crates.io/crates/anda
|
||||
Source0: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz
|
||||
%if %["%{toolchain}" == "clang"]
|
||||
BuildRequires: clang
|
||||
%else
|
||||
BuildRequires: gcc
|
||||
%endif
|
||||
BuildRequires: rust-packaging >= 21
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: openssl-devel
|
||||
%if %{defined fedora}
|
||||
BuildRequires: openssl-devel-engine
|
||||
%endif
|
||||
BuildRequires: git-core
|
||||
BuildRequires: libgit2-devel
|
||||
BuildRequires: libssh2-devel
|
||||
BuildRequires: mold
|
||||
Requires: mock
|
||||
Requires: rpm-build
|
||||
Requires: createrepo_c
|
||||
Requires: git-core
|
||||
Requires: libgit2
|
||||
%if 0%{?fedora} >= 42
|
||||
Requires: mock-filesystem
|
||||
Requires: util-linux-script
|
||||
%endif
|
||||
Packager: Terra Packaging Team <terra@fyralabs.com>
|
||||
|
||||
%description
|
||||
Andaman Build toolchain.
|
||||
|
||||
%pkg_completion -bfz
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version}
|
||||
%cargo_prep_online
|
||||
%{__cargo} fetch --locked
|
||||
|
||||
%build
|
||||
%{cargo_build} --frozen
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
%{__cargo} run --release -p xtask -- manpage
|
||||
%{__cargo} run --release -p xtask -- completion
|
||||
|
||||
%install
|
||||
%crate_install_bin
|
||||
|
||||
# Install shell completions
|
||||
COMPDIR="target/assets/completion"
|
||||
|
||||
install -Dm644 $COMPDIR/bash/anda.bash -t %{buildroot}%{bash_completions_dir}
|
||||
install -Dm644 $COMPDIR/zsh/_anda -t %{buildroot}%{zsh_completions_dir}
|
||||
install -Dm644 $COMPDIR/fish/anda.fish -t %{buildroot}%{fish_completions_dir}
|
||||
|
||||
# Install man pages
|
||||
install -Dm644 target/assets/man_pages/* -t %{buildroot}%{_mandir}/man1
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE.dependencies LICENSE.md
|
||||
%{_bindir}/anda
|
||||
%{_mandir}/man1/anda*.1.*
|
||||
|
||||
%changelog
|
||||
* Sun May 3 2026 Gilver E. <roachy@fyralabs.com> - 0.5.4-2
|
||||
- Fix build on Fedora 43
|
||||
- Add shell completions subpackages
|
||||
@@ -0,0 +1,89 @@
|
||||
# Generated by rust2rpm 22
|
||||
%bcond_without check
|
||||
%define debug_package %{nil}
|
||||
|
||||
%global crate anda
|
||||
|
||||
Name: rust-anda
|
||||
Version: 0.5.3
|
||||
Release: 1%{?dist}
|
||||
Summary: Andaman Build toolchain
|
||||
|
||||
License: MIT
|
||||
URL: https://crates.io/crates/anda
|
||||
Source: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz
|
||||
|
||||
ExclusiveArch: %{rust_arches}
|
||||
|
||||
BuildRequires: rust-packaging >= 21
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: openssl-devel
|
||||
%if %{defined fedora}
|
||||
BuildRequires: openssl-devel-engine
|
||||
%endif
|
||||
BuildRequires: git-core
|
||||
BuildRequires: libgit2-devel
|
||||
BuildRequires: libssh2-devel
|
||||
BuildRequires: mold
|
||||
|
||||
%global _description %{expand:
|
||||
Andaman Build toolchain.}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%package -n %{crate}
|
||||
Summary: %{summary}
|
||||
Requires: mock
|
||||
Requires: rpm-build
|
||||
Requires: createrepo_c
|
||||
Requires: git-core
|
||||
Requires: libgit2
|
||||
%if 0%{?fedora} >= 42
|
||||
Requires: mock-filesystem
|
||||
Requires: util-linux-script
|
||||
%endif
|
||||
|
||||
%description -n %{crate} %{_description}
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE.dependencies LICENSE.md
|
||||
%{_bindir}/anda
|
||||
%{_mandir}/man1/anda*.1*
|
||||
%config %{_sysconfdir}/bash_completion.d/anda.bash
|
||||
%{_datadir}/zsh/site-functions/_anda
|
||||
%{_datadir}/fish/completions/anda.fish
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version_no_tilde} -p1
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
cargo run --release -p xtask -- manpage
|
||||
cargo run --release -p xtask -- completion
|
||||
|
||||
%install
|
||||
install -Dpm755 target/rpm/anda -t %buildroot%_bindir/
|
||||
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
|
||||
# Install shell completions
|
||||
|
||||
COMPDIR="target/assets/completion"
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d/
|
||||
cp -v $COMPDIR/bash/anda.bash %{buildroot}%{_sysconfdir}/bash_completion.d/anda.bash
|
||||
mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/
|
||||
cp -v $COMPDIR/zsh/_anda %{buildroot}%{_datadir}/zsh/site-functions/_anda
|
||||
mkdir -p %{buildroot}%{_datadir}/fish/completions/
|
||||
cp -v $COMPDIR/fish/anda.fish %{buildroot}%{_datadir}/fish/completions/anda.fish
|
||||
|
||||
# install man pages
|
||||
cp -v target/assets/man_pages/* %{buildroot}%{_mandir}/man1/
|
||||
|
||||
|
||||
rm -rf %{buildroot}%{cargo_registry}
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: gradle
|
||||
Version: 9.5.0
|
||||
Version: 9.4.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Powerful build system for the JVM
|
||||
URL: https://gradle.org/
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%global crate mise
|
||||
|
||||
Name: rust-mise
|
||||
Version: 2026.5.1
|
||||
Version: 2026.4.24
|
||||
Release: 1%{?dist}
|
||||
Summary: Front-end to your dev env
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "ops2deb.spec"
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "ops2deb.spec"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ Summary: Generate Debian packages for common devops tools such as kubectl, kust
|
||||
License: MIT
|
||||
URL: https://github.com/upciti/ops2deb
|
||||
Source0: %{pypi_source}
|
||||
Patch0: versions.patch
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
@@ -28,7 +27,8 @@ Summary: %{summary}
|
||||
%_desc
|
||||
|
||||
%prep
|
||||
%autosetup -n %{pypi_name}-%{version} -p1
|
||||
%autosetup -n %{pypi_name}-%{version}
|
||||
sed -i 's/python = ">=3.10,<3.12"/python = ">=3.10"/' pyproject.toml
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 29b753f..926abf8 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -18,10 +18,10 @@ packages = [
|
||||
]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
-python = ">=3.10,<3.12"
|
||||
+python = ">=3.10"
|
||||
httpx = ">=0.20.0"
|
||||
-semver = "3.0.2"
|
||||
-"ruamel.yaml" = "0.18.14"
|
||||
+semver = ">3.0.2"
|
||||
+"ruamel.yaml" = ">0.18.14"
|
||||
python-debian = ">=0.1.42"
|
||||
PyYAML = "^6"
|
||||
typer = ">=0.6.1"
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: driftwm
|
||||
Version: 0.5.0
|
||||
Version: 0.4.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A trackpad-first infinite canvas Wayland compositor
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
|
||||
Name: gnome-shell-extension-%{extension}
|
||||
Version: 12
|
||||
Release: 4%{?dist}
|
||||
Release: 3%?dist
|
||||
Summary: GNOME Shell extension to bring back the app menu
|
||||
License: GPL-3.0-only
|
||||
URL: https://github.com/fthx/appmenu-is-back
|
||||
@@ -12,7 +12,7 @@ BuildArch: noarch
|
||||
|
||||
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
|
||||
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
%description
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@
|
||||
|
||||
Name: gnome-shell-extension-%{extension}
|
||||
Version: 0~%{commit_date}git.%{shortcommit}
|
||||
Release: 3%{?dist}
|
||||
Release: 2%?dist
|
||||
Summary: Battery remaining time extension for GNOME Shell
|
||||
License: GPL-2.0-only
|
||||
URL: https://github.com/pomoke/battery_time
|
||||
@@ -18,7 +18,7 @@ Source0: %url/archive/%commit/battery_time-%commit.tar.gz
|
||||
# License declared in README
|
||||
Source1: https://scancode-licensedb.aboutcode.org/gpl-2.0.LICENSE
|
||||
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
+2
-6
@@ -7,22 +7,18 @@
|
||||
|
||||
Name: gnome-shell-extension-%{extension}
|
||||
Version: %ver^%commit_date.%shortcommit
|
||||
Release: 3%{?dist}
|
||||
Release: 2%?dist
|
||||
Summary: GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
|
||||
License: GPL-3.0-only
|
||||
URL: https://github.com/chikobara/GPU-Switcher-Supergfxctl
|
||||
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: asusctl
|
||||
Requires: supergfxctl
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~) asusctl supergfxctl
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Packager: june-fish <june@fyralabs.com>
|
||||
|
||||
%description
|
||||
GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl
|
||||
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
|
||||
Name: gnome-shell-extension-%{extension}
|
||||
Version: 10
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: GNOME extension that removes the 'Window is ready' notification and brings the window into focus instead
|
||||
License: AGPL-3.0-only
|
||||
URL: https://github.com/zalckos/GrandTheftFocus
|
||||
@@ -12,7 +12,7 @@ BuildArch: noarch
|
||||
|
||||
Source0: https://github.com/zalckos/GrandTheftFocus/archive/refs/tags/v%version.tar.gz
|
||||
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
%global commit 1d36e934d5c5a00b99164309e09f0cc4a930b7a2
|
||||
%global commit_date 20260502
|
||||
%global commit 50da30c124e941f4ab5e76f34dc90f294a3aae98
|
||||
%global commit_date 20260424
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
%global extension multi-monitors-bar
|
||||
@@ -17,7 +17,7 @@ BuildArch: noarch
|
||||
Source0: %url/archive/%commit/multi-monitors-bar_fapv2-%commit.tar.gz
|
||||
# README declared the license, but they do not provide a license file
|
||||
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
Name: gnome-shell-extension-vicinae
|
||||
Version: 1.6.1
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: MIT
|
||||
URL: https://github.com/dagimg-dot/vicinae-gnome-extension
|
||||
Source: %{url}/archive/refs/tags/v%{version}.tar.gz
|
||||
@@ -12,7 +12,7 @@ Packager: metcya <metcya@gmail.com>
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: bun-bin glib2-devel
|
||||
Requires: gnome-shell >= 48~
|
||||
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
|
||||
Requires: vicinae
|
||||
Recommends: gnome-extensions-app
|
||||
Provides: gnome-shell-extension-vicinae-gnome-extension
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec
|
||||
|
||||
%global realname hyprutils
|
||||
%global ver 0.13.0
|
||||
%global ver 0.12.0
|
||||
|
||||
%global commit ec5c0c709706bad5b82f667fd8758eae442577ce
|
||||
%global commit_date 20260430
|
||||
%global commit ee9ef3d43ed194cae1b55edb716a696a45c37b48
|
||||
%global commit_date 20260427
|
||||
%global shortcommit %{sub %commit 1 7}
|
||||
|
||||
Name: %realname.nightly
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit cdf9dc925feb09c4e4e540849d3e9f6efa67599d
|
||||
%global commit 6005adf3220279a76b450abb39497e275ec7f325
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: iio-niri
|
||||
Version: 2.0.0
|
||||
Version: 1.3.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Autorotation daemon for niri
|
||||
URL: https://github.com/Zhaith-Izaliel/iio-niri
|
||||
@@ -30,8 +30,5 @@ Packager: Tulip Blossom <tulilirockz@outlook.com>
|
||||
%{_bindir}/%{name}
|
||||
|
||||
%changelog
|
||||
* Fri May 05 2026 Tulip Blossom <tulilirockz@outlook.com> - 2.0.0-1
|
||||
- Update package and add autoupdate definitions
|
||||
|
||||
* Fri Mar 13 2026 Tulip Blossom <tulilirockz@outlook.com>
|
||||
- Initial commit
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(find(`version = "([\d.]+)"`, gh_rawfile("Zhaith-Izaliel/iio-niri", "master", "Cargo.toml"), 1));
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("Satty-org/Satty"));
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 08092c3376e809190b349083497fb8c96c637c82
|
||||
%global commit_date 20260429
|
||||
%global commit a12f58b9825160d16910b515535664afe422255e
|
||||
%global commit_date 20260427
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# prevent library files from being installed
|
||||
%global cargo_install_lib 0
|
||||
|
||||
%global upstream_version v2.16.2
|
||||
%global upstream_version v2.16.1
|
||||
%global ver %{sub %upstream_version 2}
|
||||
|
||||
Name: walker
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
|
||||
|
||||
Name: android-studio-canary
|
||||
Version: 2026.1.1.3
|
||||
Version: 2026.1.1.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Official IDE for Android development (Canary build)
|
||||
License: Apache-2.0
|
||||
@@ -24,7 +24,7 @@ Packager: veuxit <erroor234@gmail.com>
|
||||
ExclusiveArch: x86_64
|
||||
URL: https://developer.android.com/studio/preview
|
||||
|
||||
%define suffixS quail1-canary3
|
||||
%define suffixS quail1-canary2
|
||||
|
||||
Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
|
||||
|
||||
Name: android-studio
|
||||
Version: 2025.3.4.7
|
||||
Version: 2025.3.4.6
|
||||
Release: 1%{?dist}
|
||||
Summary: Official IDE for Android development
|
||||
License: Apache-2.0
|
||||
@@ -24,7 +24,7 @@ Packager: veuxit <erroor234@gmail.com>, like-engels <higashikataengels@icl
|
||||
ExclusiveArch: x86_64
|
||||
URL: https://developer.android.com/studio
|
||||
|
||||
%define suffixS panda4-patch1
|
||||
%define suffixS panda4
|
||||
|
||||
Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "nodejs-backport.spec"
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
%bcond test 0
|
||||
|
||||
Name: nodejs-%{npm_name}
|
||||
Version: 12.0.0
|
||||
Release: 2%{?dist}
|
||||
Version: 11.0.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Backport GitHub commits
|
||||
SourceLicense: Apache-2.0
|
||||
License: MIT AND ISC AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause
|
||||
License: 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR CC0-1.0) AND (WTFPL OR ISC)
|
||||
URL: https://github.com/sorenlouv/%{npm_name}
|
||||
Source0: http://registry.npmjs.org/%{npm_name}/-/%{npm_name}-%{version}.tgz
|
||||
BuildRequires: anda-srpm-macros >= 0.3.0
|
||||
@@ -17,7 +17,6 @@ BuildRequires: nodejs-license-checker
|
||||
%if %{with test}
|
||||
BuildRequires: yarnpkg
|
||||
%endif
|
||||
Requires: git-core
|
||||
Obsoletes: node-backport <= 10.2.0
|
||||
BuildArch: noarch
|
||||
Packager: Gilver E. <roachy@fyralabs.com>
|
||||
@@ -27,9 +26,7 @@ A simple CLI tool that automates the process of backporting commits on a GitHub
|
||||
|
||||
%prep
|
||||
%npm_prep
|
||||
%if %{with test}
|
||||
%fetch_node_tests /src/test/ /tests/
|
||||
%endif
|
||||
|
||||
%build
|
||||
# Empty build section, because RPM reasons
|
||||
@@ -53,8 +50,6 @@ A simple CLI tool that automates the process of backporting commits on a GitHub
|
||||
%{_bindir}/%{npm_name}
|
||||
|
||||
%changelog
|
||||
* Sun May 3 2026 Gilver E. <roachy@fyralabs.com> - 12.0.0-2
|
||||
- Added explicit dependency on git-core
|
||||
* Wed Jan 21 2026 Gilver E. <roachy@fyralabs.com> - 10.2.0-3
|
||||
- Fixed package name and licenses
|
||||
* Wed Jul 2 2025 Gilver E. <rockgrub@disroot.org> - 9.6.6-1
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
## Some sources need to be fetched BEFORE the build process
|
||||
# Also I'm just better at scripting in Bash and calling the Rhai sh function hundreds of times times sounded like hell
|
||||
# Have I mentioned I hate runtime languages?
|
||||
|
||||
node=backport
|
||||
# Enable logs for debugging
|
||||
set -x
|
||||
# I guess just $PWD doesn't work for this
|
||||
builddir=$(pwd)/anda/devs/$node
|
||||
|
||||
# We only need the tests folder so sourcing the whole repo is overkill, Git can make a tarball of specific directories
|
||||
|
||||
pushd $builddir
|
||||
ver=$(cat ./*.spec | grep -P -m1 'Version:' | sed -e 's/Version://g' -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
url=$(sed -n 's/^URL:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e "s/%{module}/$node/")
|
||||
dir=$node
|
||||
|
||||
git clone --recurse-submodules -j$(nproc) $url.git
|
||||
|
||||
pushd $dir
|
||||
# I'm not sure why .tar.bz2 is the tar format of choice for this but it's also what Fedora does so it's what I'm doing
|
||||
git archive --format=tar --prefix=tests/ v${ver}:src/test/ | bzip2 > ../tests-${ver}.tar.bz2
|
||||
popd
|
||||
rm -rf $dir
|
||||
|
||||
exit 0
|
||||
@@ -6,7 +6,7 @@
|
||||
%global crate deno
|
||||
|
||||
Name: rust-deno
|
||||
Version: 2.7.14
|
||||
Version: 2.7.13
|
||||
Release: 1%{?dist}
|
||||
Summary: Deno executable
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ An editor that pays homage to the classic MS-DOS Editor, but with a modern inter
|
||||
%global appstream_component console-application
|
||||
|
||||
Name: %{crate}
|
||||
Version: 2.0.0
|
||||
Release: 1%{?dist}
|
||||
Version: 1.2.1
|
||||
Release: 4%{?dist}
|
||||
Summary: A simple editor for simple needs.
|
||||
SourceLicense: MIT
|
||||
License: MIT AND (MIT OR Apache-2.0)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: flutter
|
||||
Version: 3.41.9
|
||||
Version: 3.41.8
|
||||
Release: 1%{?dist}
|
||||
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 563b085a4d623995663b320818b6088ba0f2588f
|
||||
%global commit 8769d322022f135886d4d26d2974fb2dcea40c43
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global fulldate 2026-05-04
|
||||
%global fulldate 2026-04-26
|
||||
%global commit_date %(echo %{fulldate} | sed 's/-//g')
|
||||
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
|
||||
%global ver 1.3.2
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
# Naming variable as something other than "commit" is necessary
|
||||
# to stop %%gometa from putting commit hash in release
|
||||
%global commit_hash 253065a4af5a417e3b13d62ec5f5f722457f4a53
|
||||
%global commit_date 20260505
|
||||
%global commit_hash bd0003b9c0a68291cc65c16aaf48320bda8b4eaf
|
||||
%global commit_date 20260427
|
||||
%global shortcommit %{sub %{commit_hash} 1 7}
|
||||
%global ver 2.0.15
|
||||
|
||||
|
||||
+19
-8
@@ -1,10 +1,10 @@
|
||||
%global crate rioterm
|
||||
%global appid com.rioterm.Rio
|
||||
%global _description %{expand:
|
||||
A hardware-accelerated terminal emulator focusing to run in desktops and browsers.}
|
||||
%bcond docs 1
|
||||
|
||||
Name: rio
|
||||
Version: 0.4.2
|
||||
Version: 0.3.11
|
||||
Release: 1%{?dist}
|
||||
Summary: A hardware-accelerated terminal written in Rust.
|
||||
SourceLicense: MIT
|
||||
@@ -17,7 +17,6 @@ BuildRequires: desktop-file-utils
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glslc
|
||||
BuildRequires: libxcb-devel
|
||||
BuildRequires: libxkbcommon-devel
|
||||
BuildRequires: mold
|
||||
@@ -26,9 +25,10 @@ BuildRequires: pkgconfig(alsa)
|
||||
Requires: freetype
|
||||
Requires: fontconfig
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: ncurses-term
|
||||
Obsoletes: %{crate} < %{version}-%{release}
|
||||
Obsoletes: %{name}-doc < %{evr}
|
||||
%if %{with docs}
|
||||
Suggests: %{name}-doc = %{version}-%{release}
|
||||
%endif
|
||||
Packager: Gilver E. <roachy@fyralabs.com>
|
||||
|
||||
%description %_description
|
||||
@@ -40,6 +40,14 @@ Requires: %{name} = %{version}-%{release}
|
||||
%description devel
|
||||
This package contains the development libraries for Rio.
|
||||
|
||||
%if %{with docs}
|
||||
%package doc
|
||||
Summary: Documentation for Rio
|
||||
|
||||
%description doc
|
||||
This package contains all official documentation files for the Rio terminal.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version}
|
||||
%cargo_prep_online
|
||||
@@ -51,8 +59,7 @@ sed -i 's/Exec=.*/Exec=%{crate}/g' misc/%{name}.desktop
|
||||
%install
|
||||
install -Dm755 target/rpm/%{name} %{buildroot}%{_bindir}/%{crate}
|
||||
install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir}
|
||||
install -Dm644 misc/logo.svg %{buildroot}%{_scalableiconsdir}/%{name}.svg
|
||||
install -Dm644 misc/%{appid}.metainfo.xml -t %{buildroot}%{_metainfodir}
|
||||
install -Dm644 docs/static/assets/%{name}-logo.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
|
||||
desktop-file-install misc/%{name}.desktop
|
||||
%{cargo_license_online -a} > LICENSE.dependencies
|
||||
|
||||
@@ -66,13 +73,17 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
%{_bindir}/%{crate}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
|
||||
%{_metainfodir}/%{appid}.metainfo.xml
|
||||
|
||||
%files devel
|
||||
%{_libdir}/librio_backend.so
|
||||
%{_libdir}/librio_proc_macros.so
|
||||
%{_libdir}/libsugarloaf.so
|
||||
|
||||
%if %{with docs}
|
||||
%files doc
|
||||
%doc docs/docs/*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon May 5 2025 Gilver E. <rockgrub@disroot.org> - 0.2.13-1
|
||||
- Added doc package
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
%global commit 8d153d7feb6d49b0f42550d6aa111378d5e0013f
|
||||
%global commit 832c17e8192e2e1d472f0751e7cef2af84ded622
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20260505
|
||||
%global ver 1.2.0
|
||||
%global commit_date 20260426
|
||||
%global ver 0.235.0
|
||||
|
||||
%bcond_with check
|
||||
%bcond_with debug_no_build
|
||||
%bcond nightly 0
|
||||
%bcond nightly 1
|
||||
|
||||
%if 0%{?with_debug_no_build}
|
||||
%global debug_package %{nil}
|
||||
@@ -19,7 +19,6 @@
|
||||
%global appstream_component desktop-application
|
||||
|
||||
%global rustflags_debuginfo 0
|
||||
%global toolchain clang
|
||||
|
||||
Name: zed-nightly
|
||||
Version: %ver^%commit_date.%shortcommit
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
%global toolchain clang
|
||||
|
||||
%bcond_with check
|
||||
%bcond_with debug_no_build
|
||||
|
||||
@@ -7,7 +5,7 @@
|
||||
%global debug_package %{nil}
|
||||
%endif
|
||||
|
||||
%global ver 1.1.5-pre
|
||||
%global ver 0.234.6-pre
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
%global toolchain clang
|
||||
|
||||
%bcond_with check
|
||||
%bcond_with debug_no_build
|
||||
|
||||
@@ -17,7 +15,7 @@
|
||||
%global rustflags_debuginfo 0
|
||||
|
||||
Name: zed
|
||||
Version: 1.0.1
|
||||
Version: 0.233.10
|
||||
Release: 1%{?dist}
|
||||
Summary: Zed is a high-performance, multiplayer code editor
|
||||
SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
%global crate chess-tui
|
||||
|
||||
Name: rust-chess-tui
|
||||
Version: 2.6.2
|
||||
Release: 1%{?dist}
|
||||
Version: 2.5.1
|
||||
Release: 1%?dist
|
||||
Summary: Rusty chess game in your terminal 🦀
|
||||
|
||||
License: MIT
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
%global appid moe.launcher.an-anime-game-launcher
|
||||
Name: %{crate}
|
||||
Version: 3.19.1
|
||||
Release: 2%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: An Anime Game Launcher for Linux with automatic patching and telemetry disabling
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
@@ -53,7 +53,6 @@ BuildRequires: protobuf-devel protobuf-compiler
|
||||
%install
|
||||
%crate_install_bin
|
||||
|
||||
install -Dm644 assets/moe.launcher.an-anime-game-launcher.metainfo.xml %{buildroot}%{_metainfodir}/moe.launcher.an-anime-game-launcher.metainfo.xml
|
||||
install -Dm644 assets/images/icon.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/%{appid}.png
|
||||
desktop-file-install \
|
||||
--set-icon="%{appid}" \
|
||||
@@ -71,11 +70,7 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/anime-game-launcher.
|
||||
%{_datadir}/applications/anime-game-launcher.desktop
|
||||
%{_bindir}/%{crate}
|
||||
%{_datadir}/icons/hicolor/512x512/apps/%{appid}.png
|
||||
%{_metainfodir}/moe.launcher.an-anime-game-launcher.metainfo.xml
|
||||
|
||||
%changelog
|
||||
* Mon Dec 08 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Install metainfo
|
||||
|
||||
* Sat Sep 20 2025 Cappy Ishihara <cappy@cappuchino.xyz>
|
||||
- Initial package
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%define osuresver 2026.427.0
|
||||
%define osuresver 2026.423.0
|
||||
%global debug_package %{nil}
|
||||
%define __strip /bin/true
|
||||
|
||||
Name: osu-lazer
|
||||
Version: 2026.429.0
|
||||
Version: 2026.425.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
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
%global name_pretty %{quote:Prism Launcher (Nightly)}
|
||||
%global appid org.prismlauncher.PrismLauncher-nightly
|
||||
|
||||
%global commit ac7c8adea26c40b9e24d432d3bf37dbbc545edce
|
||||
%global commit 031015b3327b41d64b7e5ee54734cc93eb69c4ec
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
%global commit_date 20260505
|
||||
%global commit_date 20260423
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
# Change this variables if you want to use custom keys
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "protonplus.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
%define appid com.vysp3r.ProtonPlus
|
||||
|
||||
Name: protonplus
|
||||
Version: 0.5.20
|
||||
Release: 1%{?dist}
|
||||
Summary: A modern compatibility tools manager
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://github.com/Vysp3r/ProtonPlus
|
||||
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: gcc
|
||||
BuildRequires: vala
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(libsoup-3.0)
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(libarchive)
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
Provides: ProtonPlus
|
||||
|
||||
%description
|
||||
ProtonPlus is a modern compatibility tools manager for Linux.
|
||||
It allows you to easily manage and update various compatibility
|
||||
tools like Proton, Wine, DXVK, and VKD3D across different launchers.
|
||||
|
||||
%prep
|
||||
%autosetup -n ProtonPlus-%{version}
|
||||
|
||||
%conf
|
||||
%meson
|
||||
|
||||
%build
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang %{appid}
|
||||
|
||||
%files -f %{appid}.lang
|
||||
%doc README.md CODE_OF_CONDUCT.md CONTRIBUTING.md SECURITY.md
|
||||
%license LICENSE.md
|
||||
%{_bindir}/protonplus
|
||||
%{_metainfodir}/%{appid}.metainfo.xml
|
||||
%{_appsdir}/%{appid}.desktop
|
||||
%{_datadir}/glib-2.0/schemas/%{appid}.gschema.xml
|
||||
%{_hicolordir}/*/apps/%{appid}.png
|
||||
|
||||
%changelog
|
||||
* Mon May 04 2026 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Initial commit
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("Vysp3r/ProtonPlus"));
|
||||
@@ -9,8 +9,8 @@
|
||||
# GLIBCXX_ASSERTIONS is known to break RPCS3
|
||||
%global build_cflags %(echo "%{__build_flags_lang_c}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
|
||||
%global build_cxxflags %(echo "%{__build_flags_lang_cxx}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
|
||||
%global commit 4f47fee36039f38449830eccf10e72282d680f1a
|
||||
%global ver 0.0.40-19334
|
||||
%global commit 3b21833b8e923a8caf48f2b240453bfc56ebc034
|
||||
%global ver 0.0.40-19255
|
||||
|
||||
Name: rpcs3
|
||||
Version: %(echo %{ver} | sed 's/-/^/g')
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Name: steam
|
||||
Version: 1.0.0.85
|
||||
Release: 7%{?dist}
|
||||
Release: 6%?dist
|
||||
Summary: Installer for the Steam software distribution service
|
||||
# Redistribution and repackaging for Linux is allowed, see license file. udev rules are MIT.
|
||||
License: Steam License Agreement and MIT
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: steamos-manager
|
||||
Version: 26.1.0
|
||||
Release: 1%{?dist}
|
||||
Version: 26.0.1
|
||||
Release: 1%?dist
|
||||
Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system.
|
||||
License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 OR BSL-1.0 AND Apache-2.0 OR MIT AND Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT AND BSD-3-Clause OR MIT OR Apache-2.0 AND ISC AND LGPL-2.1 OR MIT OR Apache-2.0 AND MIT AND MIT OR Apache-2.0 AND MIT OR Apache-2.0 OR LGPL-2.1-or-later AND Unlicense OR MIT AND Zlib OR Apache-2.0 OR MIT
|
||||
URL: https://gitlab.steamos.cloud/holo/steamos-manager
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global bootstrap_version 1.17.1
|
||||
|
||||
Name: crystal
|
||||
Version: 1.20.1
|
||||
Version: 1.20.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A general-purpose, object-oriented programming language
|
||||
License: Apache-2.0
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# https://github.com/nektos/act
|
||||
%global goipath github.com/nektos/act
|
||||
Version: 0.2.88
|
||||
Version: 0.2.87
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# https://github.com/grpc/grpc-go
|
||||
%global goipath google.golang.org/grpc
|
||||
%global forgeurl https://github.com/grpc/grpc-go
|
||||
Version: 1.81.0
|
||||
Version: 1.80.0
|
||||
|
||||
%gometa -L
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
%global debug_package %{nil}
|
||||
|
||||
%global goipath github.com/charmbracelet/pop
|
||||
Version: 0.2.1
|
||||
Version: 0.2.0
|
||||
|
||||
%gometa -f
|
||||
|
||||
Name: pop
|
||||
Release: 1%{?dist}
|
||||
Release: 1%?dist
|
||||
Summary: Send emails from your terminal
|
||||
URL: https://github.com/charmbracelet/%{name}
|
||||
Source0: https://github.com/charmbracelet/%{name}/archive/refs/tags/v%{version}.tar.gz
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 074305b21bb3797eac2415aa5c385a579cd5943c
|
||||
%global commit 8cd9934593307c19bd55ebc11e07ea1dc183b103
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver v2.2.7.5
|
||||
%global commit_date 20260505
|
||||
%global commit_date 20260420
|
||||
|
||||
%global goipath github.com/v2rayA/v2rayA
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global goipath github.com/v2rayA/v2rayA
|
||||
Version: 2.4.0
|
||||
Version: 2.3.4
|
||||
|
||||
%global golicenses LICENSE
|
||||
%global godocs README.md
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 228f1e13aa22739b0d6b9adbdb2b600f1e2018e1
|
||||
%global commit b4f08981becb71eaa995fa98ed2098ade92566bb
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver v26.3.27
|
||||
%global commit_date 20260504
|
||||
%global commit_date 20260426
|
||||
|
||||
%global goipath github.com/XTLS/Xray-core
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Disabled because compiled without debug
|
||||
|
||||
%global goipath github.com/XTLS/Xray-core
|
||||
Version: 26.5.3
|
||||
Version: 26.4.25
|
||||
|
||||
%global golicenses LICENSE
|
||||
%global godocs README.md SECURITY.md CODE_OF_CONDUCT.md
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "ghc-bv.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
# generated by cabal-rpm-2.3.2
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||
|
||||
%global pkg_name bv
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%{?haskell_setup}
|
||||
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 0.5
|
||||
Release: 1%{?dist}
|
||||
Summary: Bit-vector arithmetic library
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://hackage.haskell.org/package/bv
|
||||
# Begin cabal-rpm sources:
|
||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||
# End cabal-rpm sources
|
||||
|
||||
# Begin cabal-rpm deps:
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-base-devel
|
||||
%if %{with ghc_prof}
|
||||
BuildRequires: ghc-base-prof
|
||||
%endif
|
||||
# End cabal-rpm deps
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
Bit-vectors implemented as a thin wrapper over integers.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Provides: %{name}-static%{?_isa} = %{version}-%{release}
|
||||
%if %{defined ghc_version}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
%endif
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%package doc
|
||||
Summary: Haskell %{pkg_name} library documentation
|
||||
BuildArch: noarch
|
||||
Requires: ghc-filesystem
|
||||
|
||||
%description doc
|
||||
This package provides the Haskell %{pkg_name} library documentation.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%package prof
|
||||
Summary: Haskell %{pkg_name} profiling library
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Supplements: (%{name}-devel and ghc-prof)
|
||||
|
||||
%description prof
|
||||
This package provides the Haskell %{pkg_name} profiling library.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
# Begin cabal-rpm setup:
|
||||
%setup -q -n %{pkgver}
|
||||
# End cabal-rpm setup
|
||||
|
||||
|
||||
%build
|
||||
# Begin cabal-rpm build:
|
||||
%ghc_lib_build
|
||||
# End cabal-rpm build
|
||||
|
||||
|
||||
%install
|
||||
# Begin cabal-rpm install
|
||||
%ghc_lib_install
|
||||
# End cabal-rpm install
|
||||
|
||||
|
||||
%files -f %{name}.files
|
||||
# Begin cabal-rpm files:
|
||||
%license LICENSE
|
||||
# End cabal-rpm files
|
||||
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%doc CHANGES.md README.md
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%files doc -f %{name}-doc.files
|
||||
%license LICENSE
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%files prof -f %{name}-prof.files
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 28 2026 Owen Zimmerman <owen@fyralabs.com> - 0.5-1
|
||||
- Initial commit
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(hackage("bv"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "ghc-freer-simple.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,134 +0,0 @@
|
||||
# generated by cabal-rpm-2.3.2
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||
|
||||
%global pkg_name freer-simple
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%{?haskell_setup}
|
||||
|
||||
# testsuite missing deps: QuickCheck tasty tasty-hunit tasty-quickcheck
|
||||
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 1.2.1.2
|
||||
Release: 1%{?dist}
|
||||
Summary: A friendly effect system for Haskell
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://hackage.haskell.org/package/freer-simple
|
||||
# Begin cabal-rpm sources:
|
||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
|
||||
# End cabal-rpm sources
|
||||
|
||||
# Begin cabal-rpm deps:
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-base-devel
|
||||
BuildRequires: ghc-natural-transformation-devel
|
||||
BuildRequires: ghc-template-haskell-devel
|
||||
BuildRequires: ghc-transformers-base-devel
|
||||
%if %{with ghc_prof}
|
||||
BuildRequires: ghc-base-prof
|
||||
BuildRequires: ghc-natural-transformation-prof
|
||||
BuildRequires: ghc-template-haskell-prof
|
||||
BuildRequires: ghc-transformers-base-prof
|
||||
%endif
|
||||
# End cabal-rpm deps
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
An implementation of an effect system for Haskell (a fork of
|
||||
<http://hackage.haskell.org/package/freer-effects freer-effects>), which is
|
||||
based on the work of Oleg Kiselyov et al.:
|
||||
|
||||
* <http://okmij.org/ftp/Haskell/extensible/more.pdf Freer Monads, More
|
||||
Extensible Effects> * <http://okmij.org/ftp/Haskell/zseq.pdf Reflection without
|
||||
Remorse> * <http://okmij.org/ftp/Haskell/extensible/exteff.pdf Extensible
|
||||
Effects>
|
||||
|
||||
The key features are:
|
||||
|
||||
* An efficient effect system for Haskell - as a library! * Reimplementations of
|
||||
several common Haskell monad transformers as effects. * Core components for
|
||||
defining your own Effects.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Provides: %{name}-static%{?_isa} = %{version}-%{release}
|
||||
%if %{defined ghc_version}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
%endif
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%package doc
|
||||
Summary: Haskell %{pkg_name} library documentation
|
||||
BuildArch: noarch
|
||||
Requires: ghc-filesystem
|
||||
|
||||
%description doc
|
||||
This package provides the Haskell %{pkg_name} library documentation.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%package prof
|
||||
Summary: Haskell %{pkg_name} profiling library
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Supplements: (%{name}-devel and ghc-prof)
|
||||
|
||||
%description prof
|
||||
This package provides the Haskell %{pkg_name} profiling library.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
# Begin cabal-rpm setup:
|
||||
%setup -q -n %{pkgver}
|
||||
cp -bp %{SOURCE1} %{pkg_name}.cabal
|
||||
# End cabal-rpm setup
|
||||
|
||||
|
||||
%build
|
||||
# Begin cabal-rpm build:
|
||||
%ghc_lib_build
|
||||
# End cabal-rpm build
|
||||
|
||||
|
||||
%install
|
||||
# Begin cabal-rpm install
|
||||
%ghc_lib_install
|
||||
# End cabal-rpm install
|
||||
|
||||
|
||||
%files -f %{name}.files
|
||||
# Begin cabal-rpm files:
|
||||
%license LICENSE
|
||||
# End cabal-rpm files
|
||||
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%doc CHANGELOG.md README.md examples
|
||||
%{_bindir}/freer-simple-examples
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%files doc -f %{name}-doc.files
|
||||
%license LICENSE
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%files prof -f %{name}-prof.files
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 28 2026 Owen Zimmerman <owen@fyralabs.com> - 1.2.1.2-1
|
||||
- Initial commit
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(hackage("freer-simple"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "ghc-libriscv.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/libriscv.cabal b/libriscv.cabal
|
||||
index 25e48fa..22e204a 100644
|
||||
--- a/libriscv.cabal
|
||||
+++ b/libriscv.cabal
|
||||
@@ -91,7 +91,7 @@ library
|
||||
, base >= 4.15.0.0 && <4.20.0.0
|
||||
, array ^>= 0.5.4.0
|
||||
, filepath ^>= 1.4.2.1
|
||||
- , bytestring >= 0.10.10 && <0.12
|
||||
+ , bytestring >= 0.10.10
|
||||
, exceptions ^>= 0.10.4
|
||||
, melf ^>= 1.3.0
|
||||
, freer-simple ^>= 1.2.1.2
|
||||
@@ -1,166 +0,0 @@
|
||||
# generated by cabal-rpm-2.3.2
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||
|
||||
%global pkg_name libriscv
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%{?haskell_setup}
|
||||
|
||||
# testsuite missing deps: bv tasty tasty-hunit
|
||||
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 0.1.0.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A versatile, flexible and executable formal model for the RISC-V architecture
|
||||
|
||||
License: MIT
|
||||
URL: https://hackage.haskell.org/package/libriscv
|
||||
# Begin cabal-rpm sources:
|
||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||
# End cabal-rpm sources
|
||||
Patch0: bytestring-ver-fix.patch
|
||||
# Begin cabal-rpm deps:
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-array-devel
|
||||
BuildRequires: ghc-base-devel
|
||||
BuildRequires: ghc-bv-devel
|
||||
BuildRequires: ghc-bytestring-devel
|
||||
BuildRequires: ghc-containers-devel
|
||||
BuildRequires: ghc-exceptions-devel
|
||||
BuildRequires: ghc-extra-devel
|
||||
BuildRequires: ghc-file-embed-devel
|
||||
BuildRequires: ghc-filepath-devel
|
||||
BuildRequires: ghc-freer-simple-devel
|
||||
BuildRequires: ghc-melf-devel
|
||||
BuildRequires: ghc-optparse-applicative-devel
|
||||
BuildRequires: ghc-parameterized-utils-devel
|
||||
BuildRequires: ghc-template-haskell-devel
|
||||
BuildRequires: ghc-transformers-devel
|
||||
BuildRequires: ghc-yaml-devel
|
||||
%if %{with ghc_prof}
|
||||
BuildRequires: ghc-array-prof
|
||||
BuildRequires: ghc-base-prof
|
||||
BuildRequires: ghc-bv-prof
|
||||
BuildRequires: ghc-bytestring-prof
|
||||
BuildRequires: ghc-containers-prof
|
||||
BuildRequires: ghc-exceptions-prof
|
||||
BuildRequires: ghc-extra-prof
|
||||
BuildRequires: ghc-file-embed-prof
|
||||
BuildRequires: ghc-filepath-prof
|
||||
BuildRequires: ghc-freer-simple-prof
|
||||
BuildRequires: ghc-melf-prof
|
||||
BuildRequires: ghc-optparse-applicative-prof
|
||||
BuildRequires: ghc-parameterized-utils-prof
|
||||
BuildRequires: ghc-template-haskell-prof
|
||||
BuildRequires: ghc-transformers-prof
|
||||
BuildRequires: ghc-yaml-prof
|
||||
%endif
|
||||
# End cabal-rpm deps
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
A formal model for the <https://riscv.org/ RISC-V> /Instruction Set
|
||||
Architecture/ (ISA). Contrary to other Haskell RISC-V ISA models, like
|
||||
<https://github.com/GaloisInc/grift GRIFT> or
|
||||
<https://github.com/mit-plv/riscv-semantics riscv-semantics>, LibRISCV is
|
||||
specifically tailored to the creation of custom ISA interpreters. To this end,
|
||||
it is designed for flexibility, allowing a versatile representation of
|
||||
instruction operands. For example, instruction operands can be
|
||||
<https://en.wikipedia.org/wiki/Satisfiability_modulo_theories SMT> expressions
|
||||
for <https://doi.org/10.48550/arXiv.2404.04132 symbolic execution> of binary
|
||||
code.
|
||||
|
||||
LibRISCV abstractly describes instruction semantics using an /Embedded Domain
|
||||
Specific Language/ (EDSL) with <https://doi.org/10.1145/2887747.2804319 free(r)
|
||||
monads>. This Haskell library is intended to build custom interpreters for this
|
||||
free monad. The entry point for this purpose is the
|
||||
'LibRISCV.Semantics.buildAST' function which obtains the free monad AST based
|
||||
on an entry address. The entry address can be obtained from a provided ELF
|
||||
loader implementation, this "Loader" module is also responsible for loading
|
||||
binary instructions into a provided memory implementation. Refer to provided
|
||||
example interpreters in the <https://github.com/agra-uni-bremen/libriscv GitHub
|
||||
repository> for practical usage instruction. More detailed information on
|
||||
LibRISCV and its concepts is also available in a
|
||||
<https://doi.org/10.1007/978-3-031-38938-2_2 TFP'23 publication>.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Provides: %{name}-static%{?_isa} = %{version}-%{release}
|
||||
%if %{defined ghc_version}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
%endif
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%package doc
|
||||
Summary: Haskell %{pkg_name} library documentation
|
||||
BuildArch: noarch
|
||||
Requires: ghc-filesystem
|
||||
|
||||
%description doc
|
||||
This package provides the Haskell %{pkg_name} library documentation.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%package prof
|
||||
Summary: Haskell %{pkg_name} profiling library
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Supplements: (%{name}-devel and ghc-prof)
|
||||
|
||||
%description prof
|
||||
This package provides the Haskell %{pkg_name} profiling library.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
# Begin cabal-rpm setup:
|
||||
%setup -q -n %{pkgver}
|
||||
%patch -P0 -p1
|
||||
# End cabal-rpm setup
|
||||
|
||||
|
||||
%build
|
||||
# Begin cabal-rpm build:
|
||||
%ghc_lib_build
|
||||
# End cabal-rpm build
|
||||
|
||||
|
||||
%install
|
||||
# Begin cabal-rpm install
|
||||
%ghc_lib_install
|
||||
# End cabal-rpm install
|
||||
|
||||
|
||||
%files -f %{name}.files
|
||||
# Begin cabal-rpm files:
|
||||
%license LICENSE.txt
|
||||
%{_datadir}/%{pkgver}
|
||||
# End cabal-rpm files
|
||||
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%{_bindir}/riscv-tiny
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%files doc -f %{name}-doc.files
|
||||
%license LICENSE.txt
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%files prof -f %{name}-prof.files
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 28 2026 Owen Zimmerman <owen@fyralabs.com> - 0.1.0.0-1
|
||||
- Initial commit
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(hackage("libriscv"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "ghc-melf.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,133 +0,0 @@
|
||||
# generated by cabal-rpm-2.3.2
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
|
||||
|
||||
%global pkg_name melf
|
||||
%global pkgver %{pkg_name}-%{version}
|
||||
%{?haskell_setup}
|
||||
|
||||
# testsuite missing deps: tasty tasty-golden tasty-hunit prettyprinter
|
||||
|
||||
Name: ghc-%{pkg_name}
|
||||
Version: 1.3.1
|
||||
Release: 1%{?dist}
|
||||
Summary: An Elf parser
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://hackage.haskell.org/package/melf
|
||||
# Begin cabal-rpm sources:
|
||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
|
||||
# End cabal-rpm sources
|
||||
|
||||
# Begin cabal-rpm deps:
|
||||
BuildRequires: ghc-rpm-macros
|
||||
BuildRequires: ghc-Cabal-devel
|
||||
BuildRequires: ghc-base-devel
|
||||
BuildRequires: ghc-binary-devel
|
||||
BuildRequires: ghc-bytestring-devel
|
||||
BuildRequires: ghc-exceptions-devel
|
||||
BuildRequires: ghc-lens-devel
|
||||
BuildRequires: ghc-mtl-devel
|
||||
BuildRequires: ghc-optparse-applicative-devel
|
||||
BuildRequires: ghc-prettyprinter-devel
|
||||
BuildRequires: ghc-template-haskell-devel
|
||||
%if %{with ghc_prof}
|
||||
BuildRequires: ghc-base-prof
|
||||
BuildRequires: ghc-binary-prof
|
||||
BuildRequires: ghc-bytestring-prof
|
||||
BuildRequires: ghc-exceptions-prof
|
||||
BuildRequires: ghc-lens-prof
|
||||
BuildRequires: ghc-mtl-prof
|
||||
BuildRequires: ghc-optparse-applicative-prof
|
||||
BuildRequires: ghc-prettyprinter-prof
|
||||
BuildRequires: ghc-template-haskell-prof
|
||||
%endif
|
||||
# End cabal-rpm deps
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
Parser for ELF object format.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Haskell %{pkg_name} library development files
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Provides: %{name}-static%{?_isa} = %{version}-%{release}
|
||||
%if %{defined ghc_version}
|
||||
Requires: ghc-compiler = %{ghc_version}
|
||||
%endif
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides the Haskell %{pkg_name} library development files.
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%package doc
|
||||
Summary: Haskell %{pkg_name} library documentation
|
||||
BuildArch: noarch
|
||||
Requires: ghc-filesystem
|
||||
|
||||
%description doc
|
||||
This package provides the Haskell %{pkg_name} library documentation.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%package prof
|
||||
Summary: Haskell %{pkg_name} profiling library
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Supplements: (%{name}-devel and ghc-prof)
|
||||
|
||||
%description prof
|
||||
This package provides the Haskell %{pkg_name} profiling library.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
# Begin cabal-rpm setup:
|
||||
%setup -q -n %{pkgver}
|
||||
cp -bp %{SOURCE1} %{pkg_name}.cabal
|
||||
# End cabal-rpm setup
|
||||
|
||||
|
||||
%build
|
||||
# Begin cabal-rpm build:
|
||||
%ghc_lib_build
|
||||
# End cabal-rpm build
|
||||
|
||||
|
||||
%install
|
||||
# Begin cabal-rpm install
|
||||
%ghc_lib_install
|
||||
# End cabal-rpm install
|
||||
|
||||
|
||||
%files -f %{name}.files
|
||||
# Begin cabal-rpm files:
|
||||
%license LICENSE
|
||||
%{_datadir}/%{pkgver}
|
||||
# End cabal-rpm files
|
||||
|
||||
|
||||
%files devel -f %{name}-devel.files
|
||||
%doc ChangeLog.md README.md examples
|
||||
%{_bindir}/hobjdump
|
||||
%{_bindir}/hobjlayout
|
||||
|
||||
|
||||
%if %{with haddock}
|
||||
%files doc -f %{name}-doc.files
|
||||
%license LICENSE
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with ghc_prof}
|
||||
%files prof -f %{name}-prof.files
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 28 2026 Owen Zimmerman <owen@fyralabs.com> - 1.3.1-1
|
||||
- Initial commit
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(hackage("melf"));
|
||||
@@ -115,5 +115,5 @@ dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Apr 26 2026 Owen Zimmerman <owen@fyralabs.com> - 0.2.4.3-1
|
||||
* Sun Apr 26 2026 Owen-sz <owen@fyralabs.com> - 0.2.4.3-1
|
||||
- Initial commit
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
/jdk-jdk12-jdk-12+33.tar.xz
|
||||
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
|
||||
/jdk-updates-jdk12u-jdk-12.0.1+12.tar.xz
|
||||
/jdk-jdk13-jdk-13+27.tar.xz
|
||||
/jdk-jdk13-jdk-13+28.tar.xz
|
||||
/jdk-jdk13-jdk-13+33.tar.xz
|
||||
/jdk-updates-jdk13u-jdk-13.0.1+9.tar.xz
|
||||
/jdk-updates-jdk13u-jdk-13.0.2+8.tar.xz
|
||||
/jdk-jdk14-jdk-14+36.tar.xz
|
||||
/jdk-updates-jdk14u-jdk-14.0.1+7.tar.xz
|
||||
/jdk-updates-jdk14u-jdk-14.0.2+12.tar.xz
|
||||
/jdk-jdk15-jdk-15+36.tar.xz
|
||||
/jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz
|
||||
/tapsets-icedtea-3.15.0.tar.xz
|
||||
/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz
|
||||
/openjdk-jdk16-jdk-16+36.tar.xz
|
||||
/openjdk-jdk16u-jdk-16.0.1+9.tar.xz
|
||||
/openjdk-jdk17-jdk-17+26.tar.xz
|
||||
/openjdk-jdk17-jdk-17+33.tar.xz
|
||||
/openjdk-jdk17-jdk-17+35.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.1+12.tar.xz
|
||||
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.2+8.tar.xz
|
||||
/openjdk-jdk-jdk-18+27.tar.xz
|
||||
/openjdk-jdk18-jdk-18+27.tar.xz
|
||||
/openjdk-jdk18-jdk-18+37.tar.xz
|
||||
/openjdk-jdk18u-jdk-18.0.1+0.tar.xz
|
||||
/openjdk-jdk18u-jdk-18.0.1+10.tar.xz
|
||||
/openjdk-jdk18u-jdk-18.0.1.1+2.tar.xz
|
||||
/openjdk-jdk18u-jdk-18.0.2+9.tar.xz
|
||||
/openjdk-jdk19u-jdk-19+36.tar.xz
|
||||
/openjdk-jdk19u-jdk-19.0.1+10.tar.xz
|
||||
/openjdk-jdk19u-jdk-19.0.2+7.tar.xz
|
||||
/openjdk-jdk20u-jdk-20+36.tar.xz
|
||||
/openjdk-jdk20u-jdk-20.0.1+9.tar.xz
|
||||
/openjdk-jdk20u-jdk-20.0.2+9.tar.xz
|
||||
/openjdk-jdk21u-jdk-21+34.tar.xz
|
||||
/openjdk-jdk21u-jdk-21+35.tar.xz
|
||||
/openjdk-21+35.tar.xz
|
||||
/openjdk-21.0.1+12.tar.xz
|
||||
/openjdk-21.0.2+11.tar.xz
|
||||
/openjdk-21.0.2+12.tar.xz
|
||||
/openjdk-21.0.2+13.tar.xz
|
||||
/openjdk-jdk-21.0.3+9.tar.xz
|
||||
/openjdk-21.0.3+9.tar.xz
|
||||
/openjdk-21.0.4+7.tar.xz
|
||||
/openjdk-21.0.5+11.tar.xz
|
||||
/openjdk-21.0.6+7.tar.xz
|
||||
/openjdk-21.0.7+6.tar.xz
|
||||
/openjdk-21.0.8+9.tar.xz
|
||||
/openjdk-21.0.9+10.tar.xz
|
||||
/openjdk-21.0.10+7.tar.xz
|
||||
/openjdk-21.0.11+10.tar.xz
|
||||
@@ -1,65 +0,0 @@
|
||||
/* CheckVendor -- Check the vendor properties match specified values.
|
||||
Copyright (C) 2020 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public class CheckVendor {
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (args.length < 4) {
|
||||
System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
String vendor = System.getProperty("java.vendor");
|
||||
String expectedVendor = args[0];
|
||||
String vendorURL = System.getProperty("java.vendor.url");
|
||||
String expectedVendorURL = args[1];
|
||||
String vendorBugURL = System.getProperty("java.vendor.url.bug");
|
||||
String expectedVendorBugURL = args[2];
|
||||
String vendorVersionString = System.getProperty("java.vendor.version");
|
||||
String expectedVendorVersionString = args[3];
|
||||
|
||||
if (!expectedVendor.equals(vendor)) {
|
||||
System.err.printf("Invalid vendor %s, expected %s\n",
|
||||
vendor, expectedVendor);
|
||||
System.exit(2);
|
||||
}
|
||||
|
||||
if (!expectedVendorURL.equals(vendorURL)) {
|
||||
System.err.printf("Invalid vendor URL %s, expected %s\n",
|
||||
vendorURL, expectedVendorURL);
|
||||
System.exit(3);
|
||||
}
|
||||
|
||||
if (!expectedVendorBugURL.equals(vendorBugURL)) {
|
||||
System.err.printf("Invalid vendor bug URL %s, expected %s\n",
|
||||
vendorBugURL, expectedVendorBugURL);
|
||||
System.exit(4);
|
||||
}
|
||||
|
||||
if (!expectedVendorVersionString.equals(vendorVersionString)) {
|
||||
System.err.printf("Invalid vendor version string %s, expected %s\n",
|
||||
vendorVersionString, expectedVendorVersionString);
|
||||
System.exit(5);
|
||||
}
|
||||
|
||||
System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
|
||||
vendor, vendorURL, vendorBugURL, vendorVersionString);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,72 +0,0 @@
|
||||
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
|
||||
Copyright (C) 2012 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import java.security.Permission;
|
||||
import java.security.PermissionCollection;
|
||||
|
||||
public class TestCryptoLevel
|
||||
{
|
||||
public static void main(String[] args)
|
||||
throws NoSuchFieldException, ClassNotFoundException,
|
||||
IllegalAccessException, InvocationTargetException
|
||||
{
|
||||
Class<?> cls = null;
|
||||
Method def = null, exempt = null;
|
||||
|
||||
try
|
||||
{
|
||||
cls = Class.forName("javax.crypto.JceSecurity");
|
||||
}
|
||||
catch (ClassNotFoundException ex)
|
||||
{
|
||||
System.err.println("Running a non-Sun JDK.");
|
||||
System.exit(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
def = cls.getDeclaredMethod("getDefaultPolicy");
|
||||
exempt = cls.getDeclaredMethod("getExemptPolicy");
|
||||
}
|
||||
catch (NoSuchMethodException ex)
|
||||
{
|
||||
System.err.println("Running IcedTea with the original crypto patch.");
|
||||
System.exit(0);
|
||||
}
|
||||
def.setAccessible(true);
|
||||
exempt.setAccessible(true);
|
||||
PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
|
||||
PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
|
||||
Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
|
||||
Field apField = apCls.getDeclaredField("INSTANCE");
|
||||
apField.setAccessible(true);
|
||||
Permission allPerms = (Permission) apField.get(null);
|
||||
if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
|
||||
{
|
||||
System.err.println("Running with the unlimited policy.");
|
||||
System.exit(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
System.err.println("WARNING: Running with a restricted crypto policy.");
|
||||
System.exit(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
/* TestECDSA -- Ensure ECDSA signatures are working.
|
||||
Copyright (C) 2016 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.security.KeyPair;
|
||||
import java.security.KeyPairGenerator;
|
||||
import java.security.Signature;
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public class TestECDSA {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
|
||||
KeyPair key = keyGen.generateKeyPair();
|
||||
|
||||
byte[] data = "This is a string to sign".getBytes("UTF-8");
|
||||
|
||||
Signature dsa = Signature.getInstance("NONEwithECDSA");
|
||||
dsa.initSign(key.getPrivate());
|
||||
dsa.update(data);
|
||||
byte[] sig = dsa.sign();
|
||||
System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
|
||||
|
||||
Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
|
||||
dsaCheck.initVerify(key.getPublic());
|
||||
dsaCheck.update(data);
|
||||
boolean success = dsaCheck.verify(sig);
|
||||
if (!success) {
|
||||
throw new RuntimeException("Test failed. Signature verification error");
|
||||
}
|
||||
System.out.println("Test passed.");
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
/* TestSecurityProperties -- Ensure system security properties can be used to
|
||||
enable the crypto policies.
|
||||
Copyright (C) 2022 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.security.Security;
|
||||
import java.util.Properties;
|
||||
|
||||
public class TestSecurityProperties {
|
||||
// JDK 11
|
||||
private static final String JDK_PROPS_FILE_JDK_11 = System.getProperty("java.home") + "/conf/security/java.security";
|
||||
// JDK 8
|
||||
private static final String JDK_PROPS_FILE_JDK_8 = System.getProperty("java.home") + "/lib/security/java.security";
|
||||
|
||||
private static final String POLICY_FILE = "/etc/crypto-policies/back-ends/java.config";
|
||||
|
||||
private static final String MSG_PREFIX = "DEBUG: ";
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (args.length == 0) {
|
||||
System.err.println("TestSecurityProperties <true|false>");
|
||||
System.err.println("Invoke with 'true' if system security properties should be enabled.");
|
||||
System.err.println("Invoke with 'false' if system security properties should be disabled.");
|
||||
System.exit(1);
|
||||
}
|
||||
boolean enabled = Boolean.valueOf(args[0]);
|
||||
System.out.println(MSG_PREFIX + "System security properties enabled: " + enabled);
|
||||
Properties jdkProps = new Properties();
|
||||
loadProperties(jdkProps);
|
||||
if (enabled) {
|
||||
loadPolicy(jdkProps);
|
||||
}
|
||||
for (Object key: jdkProps.keySet()) {
|
||||
String sKey = (String)key;
|
||||
String securityVal = Security.getProperty(sKey);
|
||||
String jdkSecVal = jdkProps.getProperty(sKey);
|
||||
if (!securityVal.equals(jdkSecVal)) {
|
||||
String msg = "Expected value '" + jdkSecVal + "' for key '" +
|
||||
sKey + "'" + " but got value '" + securityVal + "'";
|
||||
throw new RuntimeException("Test failed! " + msg);
|
||||
} else {
|
||||
System.out.println(MSG_PREFIX + sKey + " = " + jdkSecVal + " as expected.");
|
||||
}
|
||||
}
|
||||
System.out.println("TestSecurityProperties PASSED!");
|
||||
}
|
||||
|
||||
private static void loadProperties(Properties props) {
|
||||
String javaVersion = System.getProperty("java.version");
|
||||
System.out.println(MSG_PREFIX + "Java version is " + javaVersion);
|
||||
String propsFile = JDK_PROPS_FILE_JDK_11;
|
||||
if (javaVersion.startsWith("1.8.0")) {
|
||||
propsFile = JDK_PROPS_FILE_JDK_8;
|
||||
}
|
||||
try (FileInputStream fin = new FileInputStream(propsFile)) {
|
||||
props.load(fin);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Test failed!", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadPolicy(Properties props) {
|
||||
try (FileInputStream fin = new FileInputStream(POLICY_FILE)) {
|
||||
props.load(fin);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Test failed!", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
/* TestTranslations -- Ensure translations are available for new timezones
|
||||
Copyright (C) 2022 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.text.DateFormatSymbols;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.TextStyle;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class TestTranslations {
|
||||
|
||||
private static Map<Locale,String[]> KYIV, CIUDAD_JUAREZ;
|
||||
|
||||
static {
|
||||
Map<Locale,String[]> map = new HashMap<Locale,String[]>();
|
||||
map.put(Locale.US, new String[] { "Eastern European Standard Time", "GMT+02:00", "EET",
|
||||
"Eastern European Summer Time", "GMT+03:00", "EEST",
|
||||
"Eastern European Time", "GMT+02:00", "EET"});
|
||||
map.put(Locale.FRANCE, new String[] { "heure normale d\u2019Europe de l\u2019Est", "UTC+02:00", "EET",
|
||||
"heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est", "UTC+03:00", "EEST",
|
||||
"heure d\u2019Europe de l\u2019Est", "UTC+02:00", "EET"});
|
||||
map.put(Locale.GERMANY, new String[] { "Osteurop\u00e4ische Normalzeit", "OEZ", "OEZ",
|
||||
"Osteurop\u00e4ische Sommerzeit", "OESZ", "OESZ",
|
||||
"Osteurop\u00e4ische Zeit", "OEZ", "OEZ"});
|
||||
KYIV = Collections.unmodifiableMap(map);
|
||||
|
||||
map = new HashMap<Locale,String[]>();
|
||||
map.put(Locale.US, new String[] { "Mountain Standard Time", "MST", "MST",
|
||||
"Mountain Daylight Time", "MDT", "MDT",
|
||||
"Mountain Time", "MT", "MT"});
|
||||
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
|
||||
"heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
|
||||
"heure des Rocheuses", "UTC\u221207:00", "MT"});
|
||||
map.put(Locale.GERMANY, new String[] { "Rocky-Mountain-Normalzeit", "GMT-07:00", "MST",
|
||||
"Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT",
|
||||
"Rocky-Mountain-Zeit", "GMT-07:00", "MT"});
|
||||
CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (args.length < 1) {
|
||||
System.err.println("Test must be started with the name of the locale provider.");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
System.out.println("Checking sanity of full zone string set...");
|
||||
boolean invalid = Arrays.stream(Locale.getAvailableLocales())
|
||||
.peek(l -> System.out.println("Locale: " + l))
|
||||
.map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
|
||||
.flatMap(zs -> Arrays.stream(zs))
|
||||
.flatMap(names -> Arrays.stream(names))
|
||||
.filter(name -> Objects.isNull(name) || name.isEmpty())
|
||||
.findAny()
|
||||
.isPresent();
|
||||
if (invalid) {
|
||||
System.err.println("Zone string for a locale returned null or empty string");
|
||||
System.exit(2);
|
||||
}
|
||||
|
||||
String localeProvider = args[0];
|
||||
testZone(localeProvider, KYIV,
|
||||
new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
|
||||
testZone(localeProvider, CIUDAD_JUAREZ,
|
||||
new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
|
||||
}
|
||||
|
||||
private static void testZone(String localeProvider, Map<Locale,String[]> exp, String[] ids) {
|
||||
for (Locale l : exp.keySet()) {
|
||||
String[] expected = exp.get(l);
|
||||
System.out.printf("Expected values for %s are %s\n", l, Arrays.toString(expected));
|
||||
for (String id : ids) {
|
||||
String expectedShortStd = null;
|
||||
String expectedShortDST = null;
|
||||
String expectedShortGen = null;
|
||||
|
||||
System.out.printf("Checking locale %s for %s...\n", l, id);
|
||||
|
||||
if ("JRE".equals(localeProvider)) {
|
||||
expectedShortStd = expected[2];
|
||||
expectedShortDST = expected[5];
|
||||
expectedShortGen = expected[8];
|
||||
} else if ("CLDR".equals(localeProvider)) {
|
||||
expectedShortStd = expected[1];
|
||||
expectedShortDST = expected[4];
|
||||
expectedShortGen = expected[7];
|
||||
} else {
|
||||
System.err.printf("Invalid locale provider %s\n", localeProvider);
|
||||
System.exit(3);
|
||||
}
|
||||
System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
|
||||
localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
|
||||
|
||||
String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
|
||||
String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
|
||||
String longDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.LONG, l);
|
||||
String shortDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.SHORT, l);
|
||||
String longGen = ZoneId.of(id).getDisplayName(TextStyle.FULL, l);
|
||||
String shortGen = ZoneId.of(id).getDisplayName(TextStyle.SHORT, l);
|
||||
|
||||
if (!expected[0].equals(longStd)) {
|
||||
System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
|
||||
id, l, longStd, expected[0]);
|
||||
System.exit(4);
|
||||
}
|
||||
|
||||
if (!expectedShortStd.equals(shortStd)) {
|
||||
System.err.printf("Short standard display name for %s in %s was %s, expected %s\n",
|
||||
id, l, shortStd, expectedShortStd);
|
||||
System.exit(5);
|
||||
}
|
||||
|
||||
if (!expected[3].equals(longDST)) {
|
||||
System.err.printf("Long DST display name for %s in %s was %s, expected %s\n",
|
||||
id, l, longDST, expected[3]);
|
||||
System.exit(6);
|
||||
}
|
||||
|
||||
if (!expectedShortDST.equals(shortDST)) {
|
||||
System.err.printf("Short DST display name for %s in %s was %s, expected %s\n",
|
||||
id, l, shortDST, expectedShortDST);
|
||||
System.exit(7);
|
||||
}
|
||||
|
||||
if (!expected[6].equals(longGen)) {
|
||||
System.err.printf("Long generic display name for %s in %s was %s, expected %s\n",
|
||||
id, l, longGen, expected[6]);
|
||||
System.exit(8);
|
||||
}
|
||||
|
||||
if (!expectedShortGen.equals(shortGen)) {
|
||||
System.err.printf("Short generic display name for %s in %s was %s, expected %s\n",
|
||||
id, l, shortGen, expectedShortGen);
|
||||
System.exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Red Hat designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Red Hat in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <libgen.h>
|
||||
#include <linux/limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* Per task speculation control */
|
||||
#ifndef PR_GET_SPECULATION_CTRL
|
||||
# define PR_GET_SPECULATION_CTRL 52
|
||||
#endif
|
||||
#ifndef PR_SET_SPECULATION_CTRL
|
||||
# define PR_SET_SPECULATION_CTRL 53
|
||||
#endif
|
||||
/* Speculation control variants */
|
||||
#ifndef PR_SPEC_STORE_BYPASS
|
||||
# define PR_SPEC_STORE_BYPASS 0
|
||||
#endif
|
||||
/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
|
||||
|
||||
#ifndef PR_SPEC_NOT_AFFECTED
|
||||
# define PR_SPEC_NOT_AFFECTED 0
|
||||
#endif
|
||||
#ifndef PR_SPEC_PRCTL
|
||||
# define PR_SPEC_PRCTL (1UL << 0)
|
||||
#endif
|
||||
#ifndef PR_SPEC_ENABLE
|
||||
# define PR_SPEC_ENABLE (1UL << 1)
|
||||
#endif
|
||||
#ifndef PR_SPEC_DISABLE
|
||||
# define PR_SPEC_DISABLE (1UL << 2)
|
||||
#endif
|
||||
#ifndef PR_SPEC_FORCE_DISABLE
|
||||
# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
||||
#endif
|
||||
#ifndef PR_SPEC_DISABLE_NOEXEC
|
||||
# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
||||
#endif
|
||||
|
||||
static void set_speculation() {
|
||||
#if defined(__linux__) && defined(__x86_64__)
|
||||
// PR_SPEC_DISABLE_NOEXEC doesn't survive execve, so we can't use it
|
||||
// if ( prctl(PR_SET_SPECULATION_CTRL,
|
||||
// PR_SPEC_STORE_BYPASS,
|
||||
// PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
|
||||
// return;
|
||||
// }
|
||||
prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
|
||||
#else
|
||||
#warning alt-java requested but SSB mitigation not available on this platform.
|
||||
#endif
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
set_speculation();
|
||||
|
||||
char our_name[PATH_MAX], java_name[PATH_MAX];
|
||||
ssize_t len = readlink("/proc/self/exe", our_name, PATH_MAX - 1);
|
||||
if (len < 0) {
|
||||
perror("I can't find myself");
|
||||
exit(2);
|
||||
}
|
||||
|
||||
our_name[len] = '\0'; // readlink(2) doesn't append a null byte
|
||||
char *path = dirname(our_name);
|
||||
strncpy(java_name, path, PATH_MAX - 1);
|
||||
|
||||
size_t remaining_bytes = PATH_MAX - strlen(path) - 1;
|
||||
strncat(java_name, "/java", remaining_bytes);
|
||||
|
||||
execv(java_name, argv);
|
||||
fprintf(stderr, "%s failed to launch: %s\n", java_name, strerror(errno));
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "java-21-openjdk-portable.spec"
|
||||
}
|
||||
labels {
|
||||
updbranch = 1
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user