Compare commits

..

5 Commits

Author SHA1 Message Date
Owen-sz 36bbee12fb add: ghc-language-bluespec
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-04-27 19:13:43 -05:00
Owen-sz a8529beb7e Merge branch 'frawhide' of github.com:terrapkg/packages into frawhide 2026-04-27 19:13:21 -05:00
Owen-sz 31e60240b6 Merge branch 'frawhide' of github.com:terrapkg/packages into frawhide 2026-04-27 17:32:12 -05:00
Owen-sz e67d6dcd5e Merge branch 'frawhide' of github.com:terrapkg/packages into frawhide 2026-04-24 12:28:04 -05:00
Owen-sz 9eb115defa chore (ops2deb): use modern python packaging
Signed-off-by: Owen-sz <owen@fyralabs.com>
2026-04-23 19:19:24 -05:00
245 changed files with 519 additions and 14210 deletions
-1
View File
@@ -29,7 +29,6 @@ body:
description: Which version of Terra are you using?
options:
- frawhide
- f44
- f43
- f42
- el10
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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
+23 -17
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+3 -3
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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 -1
View File
@@ -1,5 +1,5 @@
project pkg {
rpm {
spec = "anda.spec"
spec = "rust-anda.spec"
}
}
-77
View File
@@ -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
+89
View File
@@ -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 -1
View File
@@ -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/
+1 -1
View File
@@ -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
+3 -3
View File
@@ -1,6 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "ops2deb.spec"
arches = ["x86_64"]
rpm {
spec = "ops2deb.spec"
}
}
+2 -2
View File
@@ -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
-18
View File
@@ -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 -1
View File
@@ -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
@@ -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
@@ -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>
@@ -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
@@ -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>
@@ -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,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 -4
View File
@@ -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
View File
@@ -1 +0,0 @@
rpm.version(find(`version = "([\d.]+)"`, gh_rawfile("Zhaith-Izaliel/iio-niri", "master", "Cargo.toml"), 1));
-1
View File
@@ -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/.*$
+1 -1
View File
@@ -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
View File
@@ -1,5 +1,4 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "nodejs-backport.spec"
}
+3 -8
View File
@@ -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
+28
View File
@@ -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
+1 -1
View File
@@ -6,7 +6,7 @@
%global crate deno
Name: rust-deno
Version: 2.7.14
Version: 2.7.13
Release: 1%{?dist}
Summary: Deno executable
+2 -2
View File
@@ -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 -1
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
+4 -5
View File
@@ -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 -3
View File
@@ -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 -3
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "protonplus.spec"
}
}
-56
View File
@@ -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
View File
@@ -1 +0,0 @@
rpm.version(gh("Vysp3r/ProtonPlus"));
+2 -2
View File
@@ -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')
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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 -1
View File
@@ -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
+2 -2
View File
@@ -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 -1
View File
@@ -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
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "ghc-bv.spec"
}
}
-110
View File
@@ -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
View File
@@ -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"));
-5
View File
@@ -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"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "ghc-melf.spec"
}
}
-133
View File
@@ -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
View File
@@ -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