Can someone please package OpenWebStart into Nixpkgs

I have tried icedtea-web but have been unable to change permissions when jnlp loads so I can save things to disk when I download things off the applet.

Also icedtea-web is old and is based on jdk8. OpenWebStart is much newer and is based on jdk 21.0.5, however, it is not in nixpkgs. However, it has a linux version for debian.

Will it be possible for someone to repackage it into Nixpkgs?

I tried to do it myself locally but grok and I got stuck.

Blockquote

{ config, pkgs, … }:

let
openwebstart = pkgs.callPackage /home/ghost/nix-packages/openwebstart { };
in
{
environment.systemPackages = with pkgs; [
openwebstart
];
}

Blockquote

and also

Blockquote

{ lib, stdenv, fetchurl, dpkg, temurin-bin, makeWrapper, glibc, util-linux, glib }:

stdenv.mkDerivation rec {
pname = “openwebstart”;
version = “1.12.0”; # Replace with the desired version
src = fetchurl {
url = “https://github.com/karakun/OpenWebStart/releases/download/v1.12.0/OpenWebStart_linux_1_12_0.deb”;
sha256 = “B+LNNnEWIxh4v3n0DmOsQsLR9eTa/3qf+vcmVjMscLk=”; # Replace with actual SHA256
};

nativeBuildInputs = [ dpkg makeWrapper ];

buildInputs = [ temurin-bin glibc util-linux glib ];

unpackPhase = ‘’
mkdir openwebstart
dpkg-deb -x $src openwebstart
‘’;

installPhase = ‘’
mkdir -p $out/bin $out/libexec/openwebstart
if [ -d openwebstart/opt/OpenWebStart ]; then
echo “Copying files from openwebstart/opt/OpenWebStart/”
cp -rv openwebstart/opt/OpenWebStart/. $out/libexec/openwebstart/
echo “Listing copied files:”
ls -l $out/libexec/openwebstart/
echo “Listing .install4j directory:”
ls -l $out/libexec/openwebstart/.install4j/
if [ -f $out/libexec/openwebstart/openwebstart.jar ]; then
echo “openwebstart.jar found in output”
else
echo “Error: openwebstart.jar not found in $out/libexec/openwebstart/” >&2
exit 1
fi
if [ -f $out/libexec/openwebstart/.install4j/i4jruntime.jar ]; then
echo “i4jruntime.jar found in output”
else
echo “Error: i4jruntime.jar not found in $out/libexec/openwebstart/.install4j/” >&2
exit 1
fi
if [ -f $out/libexec/openwebstart/.install4j/s_118um4d.png ]; then
echo “s_118um4d.png found in output”
else
echo “Error: s_118um4d.png not found in $out/libexec/openwebstart/.install4j/” >&2
exit 1
fi
else
echo “Error: openwebstart/opt/OpenWebStart directory not found” >&2
exit 1

makeWrapper ${temurin-bin}/bin/java $out/bin/openwebstart
–set JAVA_HOME ${temurin-bin}
–set PATH “${temurin-bin}/bin:${util-linux}/bin:$PATH”
–set LD_LIBRARY_PATH ${glibc}/lib
–add-flags "
-splash:$out/libexec/openwebstart/.install4j/s_118um4d.png
-Xms64m
-Xmx768m
-Djava.net.preferIPv4Stack=true
-Djnlp.cache_option=no
-Djnlp.autocapitalise=true
-Djnlp.adjustscannerbrightness=false \
-Djnlp.telephonydialer=false
-Djnlp.tcptraceroute=PROMPT
-Dicedtea-web.bin.location=${temurin-bin}/bin/java
-Ddeployment.javaws.jre=${temurin-bin}/bin/java
-Ddeployment.javaws.autodownload=NEVER
-Ddeployment.system.jre.only=true
-Ddeployment.jre.dir=${temurin-bin}
-Ddeployment.trace=true
-Ddeployment.log=true
-verbose:jni
–add-reads=java.base=ALL-UNNAMED,java.desktop
–add-reads=java.desktop=ALL-UNNAMED,java.naming
–add-reads=java.naming=ALL-UNNAMED,java.desktop
–add-exports=java.desktop/sun.awt=ALL-UNNAMED
–add-exports=java.base/sun.security.action=ALL-UNNAMED
–add-exports=java.base/sun.security.provider=ALL-UNNAMED
–add-exports=java.base/sun.security.util=ALL-UNNAMED
–add-exports=java.base/sun.security.validator=ALL-UNNAMED
–add-exports=java.base/sun.security.x509=ALL-UNNAMED
–add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
–add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
–add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED
–add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED
-cp $out/libexec/openwebstart/.install4j/i4jruntime.jar:$out/libexec/openwebstart/.install4j/launcher12cc4282.jar:$out/libexec/openwebstart/openwebstart.jar
install4j.com.openwebstart.launcher.OpenWebStartLauncher"
‘’;

meta = with lib; {
description = “OpenWebStart, an open-source reimplementation of Java Web Start”;
homepage = “https://openwebstart.com/”;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = ;
};
}

< Blockquote

Also how do you use blockquotes?

three backticks newline code newline three backticks

code