push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e4e5547af..a3017d197 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -428,12 +425,6 @@ if (MINGW)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install-dlls-mingw.cmake")
endif()
-if(APPLE)
- file(GLOB APPLE_DIST_FILES "${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-mac/*.txt")
- install(FILES ${APPLE_DIST_FILES} DESTINATION .)
- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/lib-SDL2-2.0.20-macos/SDL2.framework DESTINATION .)
-endif()
-
## Build AppImage
add_custom_target(package-appimage

View File

@@ -0,0 +1,115 @@
{
stdenv,
lib,
fetchurl,
fetchFromGitHub,
cmake,
python3,
rustPlatform,
cargo,
rustc,
SDL2,
fltk,
lua5_3,
miniaudio,
rapidjson,
sol2,
gtest,
}:
let
stringTheory = fetchurl {
url = "https://github.com/zrax/string_theory/archive/3.8.tar.gz";
hash = "sha256-mq7pW3qRZs03/SijzbTl1txJHCSW/TO+gvRLWZh/11M=";
};
magicEnum = fetchurl {
url = "https://github.com/Neargye/magic_enum/archive/v0.8.2.zip";
hash = "sha256-oQ+mUDB8YJULcSploz+0bprJbqclhc+p/Pmsn1AsAes=";
};
in
stdenv.mkDerivation rec {
pname = "ja2-stracciatella";
version = "0.21.0";
src = fetchFromGitHub {
owner = "ja2-stracciatella";
repo = "ja2-stracciatella";
tag = "v${version}";
hash = "sha256-zMCFDMSKcsYz5LjW8UJbBlSmuJX6ibr9zIS3BgZMgAg=";
};
patches = [
# Note: this patch is only relevant for darwin
./dont-use-vendored-sdl2.patch
];
postPatch = ''
# Patch dependencies that are usually loaded by url
substituteInPlace dependencies/lib-string_theory/builder/CMakeLists.txt.in \
--replace-fail ${stringTheory.url} file://${stringTheory}
substituteInPlace dependencies/lib-magic_enum/getter/CMakeLists.txt.in \
--replace-fail ${magicEnum.url} file://${magicEnum}
'';
strictDeps = true;
nativeBuildInputs = [
cmake
python3
rustPlatform.cargoSetupHook
cargo
rustc
];
buildInputs = [
SDL2
fltk
lua5_3
rapidjson
sol2
gtest
];
cargoRoot = "rust";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit
pname
version
src
cargoRoot
;
hash = "sha256-5KZa5ocn6Q4qUeRmm7Tymgg09dr6aZoAuJvtF32CXNg=";
};
cmakeFlags = [
(lib.cmakeBool "FLTK_SKIP_FLUID" true) # otherwise `find_package(FLTK)` fails
(lib.cmakeBool "LOCAL_LUA_LIB" false)
(lib.cmakeBool "LOCAL_MINIAUDIO_LIB" false)
(lib.cmakeFeature "MINIAUDIO_INCLUDE_DIR" "${miniaudio}")
(lib.cmakeBool "LOCAL_RAPIDJSON_LIB" false)
(lib.cmakeBool "LOCAL_SOL_LIB" false)
(lib.cmakeBool "LOCAL_GTEST_LIB" false)
(lib.cmakeFeature "EXTRA_DATA_DIR" "${placeholder "out"}/share/ja2")
];
doInstallCheck = true;
installCheckPhase = ''
HOME=$(mktemp -d) $out/bin/ja2 -unittests
'';
meta = {
# Fails to build on x86_64-linux as of 2025-03-16 and potentially earlier
broken = true;
description = "Jagged Alliance 2, with community fixes";
license = {
fullName = "Strategy First Inc. Source Code License Agreement";
url = "https://github.com/ja2-stracciatella/ja2-stracciatella/blob/master/SFI%20Source%20Code%20license%20agreement.txt";
free = false;
};
homepage = "https://ja2-stracciatella.github.io/";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
libclthreads,
libclxclient,
libX11,
libXft,
libXrender,
fftwFloat,
libjack2,
zita-alsa-pcmi,
}:
stdenv.mkDerivation rec {
pname = "jaaa";
version = "0.9.2";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "1czksxx2g8na07k7g57qlz0vvkkgi5bzajcx7vc7jhb94hwmmxbc";
};
buildInputs = [
alsa-lib
libclthreads
libclxclient
libX11
libXft
libXrender
fftwFloat
libjack2
zita-alsa-pcmi
];
makeFlags = [
"PREFIX=$(out)"
"SUFFIX=''"
];
preConfigure = ''
cd ./source/
'';
meta = with lib; {
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/index.html";
description = "JACK and ALSA Audio Analyser";
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
mainProgram = "jaaa";
};
}

2143
pkgs/by-name/ja/jabref/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,154 @@
{
lib,
stdenv,
fetchFromGitHub,
wrapGAppsHook3,
makeDesktopItem,
copyDesktopItems,
unzip,
xdg-utils,
gtk3,
jdk21,
openjfx23,
gradle_8,
python3,
}:
let
jdk = jdk21.override {
enableJavaFX = true;
openjfx_jdk = openjfx23;
};
# "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0."
gradle = gradle_8;
in
stdenv.mkDerivation rec {
version = "5.13";
pname = "jabref";
src = fetchFromGitHub {
owner = "JabRef";
repo = "jabref";
rev = "v${version}";
hash = "sha256-inE2FXAaEEiq7343KwtjEiTEHLtn01AzP0foTpsLoAw=";
fetchSubmodules = true;
};
desktopItems = [
(makeDesktopItem {
comment = meta.description;
name = "JabRef";
desktopName = "JabRef";
genericName = "Bibliography manager";
categories = [ "Office" ];
icon = "jabref";
exec = "JabRef %U";
startupWMClass = "org.jabref.gui.JabRefGUI";
mimeTypes = [ "text/x-bibtex" ];
})
];
mitmCache = gradle.fetchDeps {
inherit pname;
data = ./deps.json;
};
postPatch = ''
# Disable update check
substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \
--replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \
'VERSION_CHECK_ENABLED, Boolean.FALSE'
# Find OpenOffice/LibreOffice binary
substituteInPlace src/main/java/org/jabref/logic/openoffice/OpenOfficePreferences.java \
--replace '/usr' '/run/current-system/sw'
'';
nativeBuildInputs = [
jdk
gradle
wrapGAppsHook3
copyDesktopItems
unzip
];
buildInputs = [
gtk3
python3
];
gradleFlags = [
"-PprojVersion=${version}"
"-Dorg.gradle.java.home=${jdk}"
];
preBuild = ''
gradleFlagsArray+=(-PprojVersionInfo="${version} NixOS")
'';
dontWrapGApps = true;
installPhase = ''
runHook preInstall
install -dm755 $out/share/java/jabref
install -Dm644 LICENSE $out/share/licenses/jabref/LICENSE
install -Dm644 src/main/resources/icons/jabref.svg $out/share/pixmaps/jabref.svg
# script to support browser extensions
install -Dm755 buildres/linux/jabrefHost.py $out/lib/jabrefHost.py
patchShebangs $out/lib/jabrefHost.py
install -Dm644 buildres/linux/native-messaging-host/firefox/org.jabref.jabref.json $out/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
sed -i -e "s|/opt/jabref|$out|" $out/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
# Resources in the jar can't be found, workaround copied from AUR
cp -r build/resources $out/share/java/jabref
tar xf build/distributions/JabRef-${version}.tar -C $out --strip-components=1
DEFAULT_JVM_OPTS=$(sed -n -E "s/^DEFAULT_JVM_OPTS='(.*)'$/\1/p" $out/bin/JabRef | sed -e "s|\$APP_HOME|$out|g" -e 's/"//g')
# Temp fix: openjfx doesn't build with webkit
unzip $out/lib/javafx-web-*-*.jar libjfxwebkit.so -d $out/lib/
runHook postInstall
'';
postFixup = ''
rm $out/bin/*
# put this in postFixup because some gappsWrapperArgs are generated in gappsWrapperArgsHook in preFixup
makeWrapper ${jdk}/bin/java $out/bin/JabRef \
"''${gappsWrapperArgs[@]}" \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--add-flags "-Djava.library.path=$out/lib/ --patch-module org.jabref=$out/share/java/jabref/resources/main" \
--add-flags "$DEFAULT_JVM_OPTS"
# lowercase alias (for convenience and required for browser extensions)
ln -sf $out/bin/JabRef $out/bin/jabref
'';
gradleUpdateScript = ''
runHook preBuild
gradle nixDownloadDeps -Dos.arch=amd64
gradle nixDownloadDeps -Dos.arch=aarch64
'';
meta = with lib; {
description = "Open source bibliography reference manager";
homepage = "https://www.jabref.org";
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
binaryNativeCode # source bundles dependencies as jars
];
license = licenses.mit;
platforms = [
"x86_64-linux"
"aarch64-linux"
];
maintainers = with maintainers; [
linsui
];
};
}

View File

@@ -0,0 +1,71 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
meson,
ninja,
jack2,
alsa-lib,
libopus,
libsamplerate,
libsndfile,
readline,
zita-alsa-pcmi,
zita-resampler,
enableAlsa ? stdenv.hostPlatform.isLinux,
}:
stdenv.mkDerivation (final: {
pname = "jack-example-tools";
version = "4";
src = fetchFromGitHub {
owner = "jackaudio";
repo = "jack-example-tools";
rev = "tags/${final.version}";
hash = "sha256-5jmynNxwNVLxEZ1MaqQUG6kRwipDkjhrdDCbZHtmAHk=";
};
postPatch = ''
patchShebangs scripts
'';
nativeBuildInputs = [
pkg-config
meson
ninja
];
buildInputs = [
jack2
(libopus.override { withCustomModes = true; })
libsamplerate
libsndfile
readline
]
++ lib.optionals enableAlsa [
alsa-lib
zita-alsa-pcmi
zita-resampler
];
mesonFlags = [
(lib.mesonEnable "alsa_in_out" enableAlsa)
(lib.mesonEnable "zalsa" enableAlsa)
];
# no tests defined, but prepare for some in the future.
doCheck = true;
meta = with lib; {
description = "Official examples and tools from the JACK project";
homepage = "https://jackaudio.org";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ ];
};
})

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
libjack2,
meson,
ninja,
fmt_9,
}:
stdenv.mkDerivation {
pname = "jack-passthrough";
version = "2021-9-25";
# https://github.com/guysherman/jack-passthrough
src = fetchFromGitHub {
owner = "guysherman";
repo = "jack-passthrough";
rev = "aad03b7c5ccc4a4dcb8fa38c49aa64cb9d628660";
hash = "sha256-9IsNaLW5dYAqiwe+vX0+D3oIKFP2TIfy1q1YaqmS6wE=";
};
nativeBuildInputs = [
pkg-config
meson
ninja
];
buildInputs = [
fmt_9
libjack2
];
meta = with lib; {
description = "Simple app to help with JACK apps that behave strangely";
longDescription = ''
Creates a JACK passthrough client with an arbitrary name and number of
ports. Common uses include tricking stubborn applications into creating
more ports than they normally would or to prevent them from
auto-connecting to certain things.
'';
# license unknown: https://github.com/guysherman/jack-passthrough/issues/2
license = licenses.unfree;
maintainers = [ maintainers.PowerUser64 ];
platforms = [ "x86_64-linux" ];
mainProgram = "jack-passthru";
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
# Optional Dependencies
alsa-lib ? null,
db ? null,
libuuid ? null,
libffado ? null,
celt_0_7 ? null,
testers,
}:
let
shouldUsePkg =
pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null;
optAlsaLib = shouldUsePkg alsa-lib;
optDb = shouldUsePkg db;
optLibuuid = shouldUsePkg libuuid;
optLibffado = shouldUsePkg libffado;
optCelt = shouldUsePkg celt_0_7;
in
stdenv.mkDerivation (finalAttrs: {
pname = "jack1";
version = "0.126.0";
src = fetchurl {
url = "https://github.com/jackaudio/jack1/releases/download/${finalAttrs.version}/jack1-${finalAttrs.version}.tar.gz";
hash = "sha256-eykOnce5JirDKNQe74DBBTyXAT76y++jBHfLmypUReo=";
};
configureFlags = [
(lib.enableFeature (optLibffado != null) "firewire")
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
optAlsaLib
optDb
optLibffado
optCelt
];
propagatedBuildInputs = [ optLibuuid ];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
description = "JACK audio connection kit";
homepage = "https://jackaudio.org";
license = with licenses; [
gpl2Plus
lgpl21
];
pkgConfigModules = [ "jack" ];
platforms = platforms.unix;
};
})

View File

@@ -0,0 +1,127 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
pkg-config,
python3Packages,
makeWrapper,
libsamplerate,
wafHook,
# Darwin Dependencies
aften,
# BSD Dependencies
freebsd,
# Optional Dependencies
dbus ? null,
libffado ? null,
alsa-lib ? null,
# Extra options
prefix ? "",
testers,
}:
let
inherit (python3Packages) python dbus-python;
shouldUsePkg =
pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null;
libOnly = prefix == "lib";
optDbus = if stdenv.hostPlatform.isDarwin then null else shouldUsePkg dbus;
optPythonDBus = if libOnly then null else shouldUsePkg dbus-python;
optLibffado = if libOnly then null else shouldUsePkg libffado;
optAlsaLib = if libOnly then null else shouldUsePkg alsa-lib;
in
stdenv.mkDerivation (finalAttrs: {
pname = "${prefix}jack2";
version = "1.9.22";
src = fetchFromGitHub {
owner = "jackaudio";
repo = "jack2";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Cslfys5fcZDy0oee9/nM5Bd1+Cg4s/ayXjJJOSQCL4E=";
};
outputs = [
"out"
"dev"
];
nativeBuildInputs = [
pkg-config
python
wafHook
]
++ lib.optionals (optDbus != null) [ makeWrapper ];
buildInputs = [
libsamplerate
optDbus
optPythonDBus
optLibffado
optAlsaLib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
aften
]
++ lib.optionals stdenv.hostPlatform.isFreeBSD [
freebsd.libsysinfo
];
patches = [
(fetchpatch2 {
# Python 3.12 support
name = "jack2-waf2.0.26.patch";
url = "https://github.com/jackaudio/jack2/commit/250420381b1a6974798939ad7104ab1a4b9a9994.patch";
hash = "sha256-M/H72lLTeddefqth4BSkEfySZRYMIzLErb7nIgVN0u8=";
})
];
postPatch = ''
patchShebangs --build svnversion_regenerate.sh
'';
wafConfigureFlags = [
"--classic"
"--autostart=${if (optDbus != null) then "dbus" else "classic"}"
]
++ lib.optional (optDbus != null) "--dbus"
++ lib.optional (optLibffado != null) "--firewire"
++ lib.optional (optAlsaLib != null) "--alsa"
++ lib.optional (
stdenv.hostPlatform != stdenv.buildPlatform
) "--platform=${stdenv.hostPlatform.parsed.kernel.name}";
postInstall = (
if libOnly then
''
rm -rf $out/{bin,share}
rm -rf $out/lib/{jack,libjacknet*,libjackserver*}
''
else
lib.optionalString (optDbus != null) ''
wrapProgram $out/bin/jack_control --set PYTHONPATH $PYTHONPATH
''
);
postFixup = ''
substituteInPlace "$dev/lib/pkgconfig/jack.pc" \
--replace-fail "$out/include" "$dev/include"
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
description = "JACK audio connection kit, version 2 with jackdbus";
homepage = "https://jackaudio.org";
license = lib.licenses.gpl2Plus;
pkgConfigModules = [ "jack" ];
platforms = lib.platforms.unix;
maintainers = [ ];
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitHub,
libjack2,
libsndfile,
pkg-config,
}:
stdenv.mkDerivation {
pname = "jack_capture";
version = "0.9.73.2023-01-04";
src = fetchFromGitHub {
owner = "kmatheussen";
repo = "jack_capture";
rev = "a539d444d388c4cfed7279e385830e7767d59c41";
sha256 = "sha256-2DavZS4esV17a3vkiPvfCfp0QF94ZcXqdIw84h9HDjA=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libjack2
libsndfile
];
buildPhase = "PREFIX=$out make jack_capture";
installPhase = ''
mkdir -p $out/bin
cp jack_capture $out/bin/
'';
hardeningDisable = [ "format" ];
meta = with lib; {
description = "Program for recording soundfiles with jack";
mainProgram = "jack_capture";
homepage = "https://github.com/kmatheussen/jack_capture/";
license = licenses.gpl2;
maintainers = with maintainers; [ orivej ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchurl,
SDL,
libjack2,
libGLU,
libGL,
libX11,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "jack_oscrolloscope";
version = "0.7";
src = fetchurl {
url = "http://das.nasophon.de/download/${pname}-${version}.tar.gz";
sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
SDL
libjack2
libGLU
libGL
libX11
];
installPhase = ''
mkdir -p $out/bin
mv jack_oscrolloscope $out/bin/
'';
meta = with lib; {
description = "Simple waveform viewer for JACK";
mainProgram = "jack_oscrolloscope";
homepage = "http://das.nasophon.de/jack_oscrolloscope";
license = licenses.gpl2;
maintainers = [ ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
vst2-sdk,
wine64,
enableJackAssWine64 ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jackass";
version = "1.1";
src = fetchFromGitHub {
owner = "falkTX";
repo = "JackAss";
rev = "v${finalAttrs.version}";
hash = "sha256-6mqG4H6iGvDbGnmMeP/vcvSnvUGClZUl06XpKovt50E=";
};
postPatch = ''
cp -r ${vst2-sdk}/{public.sdk,pluginterfaces} vstsdk2.4
'';
nativeBuildInputs = [ pkg-config ] ++ lib.optionals enableJackAssWine64 [ wine64 ];
makeFlags = [ "linux" ] ++ lib.optionals enableJackAssWine64 [ "wine64" ];
installPhase = ''
runHook preInstall
install_dir="$out/lib/vst"
mkdir -p $install_dir
for file in JackAss.so JackAssWine64.dll; do
if test -f "$file"; then
cp $file $install_dir
fi
done
runHook postInstall
'';
enableParallelBuilding = true;
meta = {
description = "VST plugin that provides JACK-MIDI support for VST hosts";
longDescription = ''
Simply load the plugin in your favourite host to get a JACK-MIDI port.
Optionally includes a special Wine build for running in Wine
applications. Set enableJackAssWine64 to true to enable this output.
'';
homepage = "https://github.com/falkTX/JackAss";
maintainers = with lib.maintainers; [ PowerUser64 ];
license = [ lib.licenses.mit ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchurl,
libjack2,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "jackmeter";
version = "0.4";
src = fetchurl {
url = "https://www.aelius.com/njh/${pname}/${pname}-${version}.tar.gz";
sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libjack2 ];
meta = {
description = "Console jack loudness meter";
homepage = "https://www.aelius.com/njh/jackmeter/";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.marcweber ];
platforms = lib.platforms.linux;
mainProgram = "jack_meter";
};
}

View File

@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
help2man,
libjack2,
libsamplerate,
dbus,
qt6,
meson,
python3,
rtaudio,
ninja,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
version = "2.7.1";
pname = "jacktrip";
src = fetchFromGitHub {
owner = "jacktrip";
repo = "jacktrip";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-47CgvaNgAr3PP61vS28hU4jTljukFGbGkAYJVHNoR9U=";
};
preConfigure = ''
rm build
'';
buildInputs = [
rtaudio
qt6.qtbase
qt6.qtwayland
libjack2
libsamplerate
dbus
];
nativeBuildInputs = [
python3
python3.pkgs.pyaml
python3.pkgs.jinja2
ninja
help2man
meson
qt6.qt5compat
qt6.qtnetworkauth
qt6.qtwebsockets
qt6.qtwebengine
qt6.qtdeclarative
qt6.qtsvg
qt6.wrapQtAppsHook
pkg-config
];
qmakeFlags = [ "jacktrip.pro" ];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Multi-machine audio network performance over the Internet";
homepage = "https://jacktrip.github.io/jacktrip/";
changelog = "https://github.com/jacktrip/jacktrip/releases/tag/v${finalAttrs.version}";
license = with lib.licenses; [
gpl3
lgpl3
mit
];
maintainers = with lib.maintainers; [ iwanb ];
platforms = lib.platforms.linux;
mainProgram = "jacktrip";
};
})

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchzip,
makeWrapper,
jre,
}:
stdenv.mkDerivation rec {
pname = "jacoco";
version = "0.8.12";
src = fetchzip {
url = "https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/${version}/jacoco-${version}.zip";
stripRoot = false;
sha256 = "sha256-7bN68fcUycehJDJeBAyCloz8rb3SXgjwmC9zpob8YdI=";
};
outputs = [
"out"
"doc"
];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $doc/share/doc $out/bin
cp -r doc $doc/share/doc/jacoco
install -Dm444 lib/* -t $out/share/java
makeWrapper ${jre}/bin/java $out/bin/jacoco \
--add-flags "-jar $out/share/java/jacococli.jar"
runHook postInstall
'';
meta = with lib; {
description = "Free code coverage library for Java";
mainProgram = "jacoco";
homepage = "https://www.jacoco.org/jacoco";
changelog = "https://www.jacoco.org/jacoco/trunk/doc/changes.html";
license = licenses.epl20;
platforms = platforms.all;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchurl,
gnum4,
}:
stdenv.mkDerivation rec {
pname = "jade";
version = "1.2.1";
debpatch = "47.3";
src = fetchurl {
url = "ftp://ftp.jclark.com/pub/jade/jade-${version}.tar.gz";
sha256 = "84e2f8a2a87aab44f86a46b71405d4f919b219e4c73e03a83ab6c746a674b187";
};
patchsrc = fetchurl {
url = "mirror://debian/pool/main/j/jade/jade_${version}-${debpatch}.diff.gz";
sha256 = "8e94486898e3503308805f856a65ba5b499a6f21994151270aa743de48305464";
};
patches = [ patchsrc ];
buildInputs = [ gnum4 ];
env.NIX_CFLAGS_COMPILE = "-Wno-deprecated";
# Makefile is missing intra-library depends, fails build as:
# ld: cannot find -lsp
# ld: cannot find -lspgrove
enableParallelBuilding = false;
preInstall = ''
install -d -m755 "$out"/lib
'';
postInstall = ''
mv "$out/bin/sx" "$out/bin/sgml2xml"
'';
meta = {
description = "James Clark's DSSSL Engine";
license = lib.licenses.x11;
homepage = "http://www.jclark.com/jade/";
platforms = with lib.platforms; linux;
maintainers = [ ];
};
}

1506
pkgs/by-name/ja/jadx/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,68 @@
diff --git a/jadx-gui/build.gradle.kts b/jadx-gui/build.gradle.kts
index 09f2c05f..bdb641b0 100644
--- a/jadx-gui/build.gradle.kts
+++ b/jadx-gui/build.gradle.kts
@@ -1,7 +1,6 @@
plugins {
id("jadx-kotlin")
id("application")
- id("edu.sc.seis.launch4j") version "3.0.5"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("org.beryx.runtime") version "1.13.1"
}
@@ -101,24 +100,6 @@
}
}
-launch4j {
- mainClassName.set(application.mainClass.get())
- copyConfigurable.set(listOf<Any>())
- setJarTask(tasks.shadowJar.get())
- icon.set("$projectDir/src/main/resources/logos/jadx-logo.ico")
- outfile.set("jadx-gui-$jadxVersion.exe")
- copyright.set("Skylot")
- windowTitle.set("jadx")
- companyName.set("jadx")
- jreMinVersion.set("11")
- jvmOptions.set(application.applicationDefaultJvmArgs.toSet())
- requires64Bit.set(true)
- initialHeapPercent.set(5)
- maxHeapSize.set(4096)
- maxHeapPercent.set(70)
- downloadUrl.set("https://www.oracle.com/java/technologies/downloads/#jdk17-windows")
- bundledJrePath.set(if (project.hasProperty("bundleJRE")) "%EXEDIR%/jre" else "%JAVA_HOME%")
-}
runtime {
addOptions("--strip-debug", "--compress", "2", "--no-header-files", "--no-man-pages")
@@ -137,30 +118,6 @@
}
}
-val copyDistWinWithJre by tasks.registering(Copy::class) {
- group = "jadx"
- dependsOn(tasks.named("runtime"), tasks.named("createExe"))
- from(runtime.jreDir) {
- include("**/*")
- into("jre")
- }
- from(tasks.named("createExe").get().outputs) {
- include("*.exe")
- }
- into(layout.buildDirectory.dir("jadx-gui-$jadxVersion-with-jre-win"))
- duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
-
-val distWinWithJre by tasks.registering(Zip::class) {
- group = "jadx"
- dependsOn(copyDistWinWithJre)
- archiveFileName.set("jadx-gui-$jadxVersion-with-jre-win.zip")
- from(copyDistWinWithJre.get().outputs) {
- include("**/*")
- }
- into(layout.buildDirectory.asFile)
- duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
val addNewNLSLines by tasks.registering(JavaExec::class) {
group = "jadx"

View File

@@ -0,0 +1,111 @@
{
lib,
stdenv,
fetchFromGitHub,
gradle_8,
jdk,
quark-engine,
makeBinaryWrapper,
imagemagick,
makeDesktopItem,
copyDesktopItems,
desktopToDarwinBundle,
}:
let
# "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0."
gradle = gradle_8;
in
stdenv.mkDerivation (finalAttrs: {
pname = "jadx";
version = "1.5.0";
src = fetchFromGitHub {
owner = "skylot";
repo = "jadx";
rev = "v${finalAttrs.version}";
hash = "sha256-+F+PHAd1+FmdAlQkjYDBsUYCUzKXG19ZUEorfvBUEg0=";
};
patches = [
# Remove use of launch4j - contains platform binaries not able to be cached by mitmCache
./no-native-deps.diff
];
nativeBuildInputs = [
gradle
jdk
imagemagick
makeBinaryWrapper
copyDesktopItems
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ];
# Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted`
__darwinAllowLocalNetworking = true;
mitmCache = gradle.fetchDeps {
pname = "jadx";
data = ./deps.json;
};
preBuild = "export JADX_VERSION=${finalAttrs.version}";
gradleBuildTask = "pack";
installPhase = ''
runHook preInstall
mkdir $out $out/bin
cp -R build/jadx/lib $out
for prog in jadx jadx-gui; do
cp build/jadx/bin/$prog $out/bin
wrapProgram $out/bin/$prog \
--set JAVA_HOME ${jdk.home} \
--prefix PATH : "${lib.makeBinPath [ quark-engine ]}"
done
for size in 16 32 48; do
install -Dm444 \
jadx-gui/src/main/resources/logos/jadx-logo-"$size"px.png \
$out/share/icons/hicolor/"$size"x"$size"/apps/jadx.png
done
for size in 64 128 256; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" jadx-gui/src/main/resources/logos/jadx-logo.png $out/share/icons/hicolor/"$size"x"$size"/apps/jadx.png
done
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "jadx";
desktopName = "JADX";
exec = "jadx-gui";
icon = "jadx";
comment = finalAttrs.meta.description;
categories = [
"Development"
"Utility"
];
})
];
meta = with lib; {
changelog = "https://github.com/skylot/jadx/releases/tag/v${finalAttrs.version}";
description = "Dex to Java decompiler";
homepage = "https://github.com/skylot/jadx";
longDescription = ''
Command line and GUI tools for produce Java source code from Android Dex
and Apk files.
'';
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # deps
];
license = licenses.asl20;
platforms = platforms.unix;
mainProgram = "jadx-gui";
maintainers = with maintainers; [ emilytrau ];
};
})

View File

@@ -0,0 +1,31 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "jaeles";
version = "0.17.1";
src = fetchFromGitHub {
owner = "jaeles-project";
repo = "jaeles";
rev = "beta-v${version}";
hash = "sha256-IGvIjO1nCilg2sPyScGTH5Zmv0rORlGwRv3NRxQk+aM=";
};
vendorHash = "sha256-/Ow2qdcFduZ2ZyUUfCqpZxSh9yy3+tI/2N9Wl1fKXVI=";
# Tests want to download signatures
doCheck = false;
meta = {
description = "Tool for automated Web application testing";
mainProgram = "jaeles";
homepage = "https://github.com/jaeles-project/jaeles";
changelog = "https://github.com/jaeles-project/jaeles/releases/tag/beta-v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
gfortran,
blas,
lapack,
}:
stdenv.mkDerivation rec {
pname = "JAGS";
version = "4.3.2";
src = fetchurl {
url = "mirror://sourceforge/mcmc-jags/JAGS-${version}.tar.gz";
sha256 = "sha256-hx9VavQDp8LOag8C8Vz4WlcnY+CT0mZY66xVxKtHL8g=";
};
nativeBuildInputs = [ gfortran ];
buildInputs = [
blas
lapack
];
configureFlags = [
"--with-blas=-lblas"
"--with-lapack=-llapack"
];
meta = with lib; {
description = "Just Another Gibbs Sampler";
mainProgram = "jags";
license = licenses.gpl2;
homepage = "http://mcmc-jags.sourceforge.net";
maintainers = [ maintainers.andres ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,50 @@
{
buildFHSEnv,
lib,
requireFile,
runCommand,
stdenv,
unzip,
}:
let
pname = "jai";
minor = "2";
patch = "017";
version = "0.${minor}.${patch}";
zipName = "jai-beta-${minor}-${patch}.zip";
jai = stdenv.mkDerivation {
name = "jai";
src = requireFile {
message = ''
The language is not yet public. If you are in the closed beta, download the zip file and run the following command:
nix-store --add-fixed sha256 ${zipName}
'';
name = zipName;
sha256 = "sha256-qVBF71qpFXfBkke9vCs7Wq/+P7ZQIgg4l1iLw8NmQhA=";
};
nativeBuildInputs = [ unzip ];
buildCommand = "unzip $src -d $out";
};
meta = {
description = "Powerful language to write efficient reliable software in simple ways";
license = lib.licenses.unfree;
mainProgram = "jai";
maintainers = with lib.maintainers; [ samestep ];
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
in
if stdenv.hostPlatform.isLinux then
buildFHSEnv {
inherit meta pname version;
targetPkgs = pkgs: [ pkgs.zlib ];
runScript = "${jai}/jai/bin/jai-linux";
}
else
runCommand "jai" { inherit meta pname version; } ''
mkdir -p $out/bin
ln -s ${jai}/jai/bin/jai-macos $out/bin/jai
''

View File

@@ -0,0 +1,92 @@
{
lib,
stdenv,
fetchFromGitHub,
ant,
copyDesktopItems,
jdk,
jre,
makeDesktopItem,
makeWrapper,
stripJavaArchivesHook,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jailer";
version = "16.9.1";
src = fetchFromGitHub {
owner = "Wisser";
repo = "Jailer";
tag = "v${finalAttrs.version}";
hash = "sha256-6lyPWzC3nE4wFYzcfXRIl8sr8rtCQ1wX5wZuMrQQHhI=";
};
nativeBuildInputs = [
ant
jdk
stripJavaArchivesHook
makeWrapper
wrapGAppsHook4
copyDesktopItems
];
buildPhase = ''
runHook preBuild
rm jailer.jar
ant
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 jailer.jar $out/share/java/jailer.jar
install -Dm644 jailer-engine-${finalAttrs.version}.jar $out/share/java/
mkdir -p $out/share/java/lib
for f in lib/*.jar; do
install -Dm644 $f $out/share/java/lib
done
mkdir -p $out/bin
mkdir -p $out/share
mkdir -p $out/share/pixmaps
cp driverlist.csv $out/share
cp admin/jailer.png $out/share/pixmaps
# On first run, create a local configuration folder and copy driverlist.csv there.
cat << EOF > $out/bin/jailer
#!/usr/bin/env bash
CFG="''${XDG_CONFIG_HOME:-\$HOME/.config}/jailer"
mkdir -p \$CFG
cp -n $out/share/driverlist.csv \$CFG
cd \$CFG
_JAVA_AWT_WM_NONREPARENTING=1 ${jre}/bin/java -jar $out/share/java/jailer.jar
EOF
chmod +x $out/bin/jailer
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "Jailer";
desktopName = "Jailer";
exec = "jailer";
icon = "jailer";
categories = [ "Development" ];
})
];
meta = {
description = "Tool for database subsetting and relational data browsing";
license = lib.licenses.asl20;
homepage = "https://github.com/Wisser/Jailer";
changelog = "https://github.com/Wisser/Jailer/releases/tag/v${finalAttrs.version}";
maintainers = with lib.maintainers; [ guillaumematheron ];
mainProgram = "jailer";
};
})

View File

@@ -0,0 +1,29 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "jake";
version = "10.9.1";
src = fetchFromGitHub {
owner = "jakejs";
repo = "jake";
rev = "v${version}";
hash = "sha256-rYWr/ACr14/WE88Gk6Kpyl2pq1XRHSfZGXHrwbGC8hQ=";
};
npmDepsHash = "sha256-BwOfPRiVMpFo9tG9oY2r82w2g3y/7sL3PD5epd2igmI=";
dontNpmBuild = true;
meta = {
description = "JavaScript build tool, similar to Make or Rake";
homepage = "https://github.com/jakejs/jake";
license = lib.licenses.asl20;
mainProgram = "jake";
maintainers = with lib.maintainers; [ jasoncarr ];
};
}

View File

@@ -0,0 +1,7 @@
{
jalv,
}:
jalv.override {
useQt = true;
}

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
libjack2,
lilv,
lv2,
meson,
ninja,
pkg-config,
portaudio,
serd,
sord,
sratom,
suil,
wrapGAppsHook3,
useJack ? true,
useQt ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jalv";
version = "1.6.8";
src = fetchFromGitHub {
owner = "drobilla";
repo = "jalv";
tag = "v${finalAttrs.version}";
hash = "sha256-MAQoc+WcuoG6Psa44VRaZ2TWB2LBpvf6EmqbUZPUf38=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
]
++ lib.optionals (!useQt) [ wrapGAppsHook3 ]
++ lib.optionals useQt [ libsForQt5.wrapQtAppsHook ];
buildInputs = [
lilv
lv2
portaudio
serd
sord
sratom
suil
]
++ lib.optionals (!useJack) [ portaudio ]
++ lib.optionals useJack [ libjack2 ]
++ lib.optionals useQt [ libsForQt5.qtbase ];
mesonFlags = [
(lib.mesonEnable "portaudio" (!useJack))
(lib.mesonEnable "jack" useJack)
(lib.mesonEnable "gtk2" false)
(lib.mesonEnable "gtk3" (!useQt))
(lib.mesonEnable "qt5" useQt)
];
meta = {
description = "Simple but fully featured LV2 host for Jack";
homepage = "http://drobilla.net/software/jalv";
license = lib.licenses.isc;
mainProgram = if useQt then "jalv.qt5" else "jalv.gtk3";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,125 @@
{
lib,
bison,
buildPackages,
fetchurl,
installShellFiles,
pkgsBuildTarget,
stdenv,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jam";
version = "2.6.1";
src = fetchurl {
url = "https://swarm.workshop.perforce.com/downloads/guest/perforce_software/jam/jam-${finalAttrs.version}.tar";
hash = "sha256-rOayJ8GpmFk0/RPJwK5Pf/RBccbe2Lg7s9p15u/cs6c=";
};
outputs = [
"out"
"doc"
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
bison
installShellFiles
];
makeFlags = [
"CC=${buildPackages.stdenv.cc.targetPrefix}cc"
];
env = {
LOCATE_TARGET = "bin.unix";
# Jam uses c89 conventions
NIX_CFLAGS_COMPILE = "-std=c89";
};
enableParallelBuilding = true;
strictDeps = true;
# Jambase expects ar to have flags.
preConfigure = ''
export AR="$AR rc"
'';
postPatch = ''
substituteInPlace jam.h --replace-fail 'ifdef linux' 'ifdef __linux__'
''
+
# When cross-compiling, we need to set the preprocessor macros
# OSMAJOR/OSMINOR/OSPLAT to the values from the target platform, not the host
# platform. This looks a little ridiculous because the vast majority of build
# tools don't embed target-specific information into their binary, but in this
# case we behave more like a compiler than a make(1)-alike.
lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) ''
cat >>jam.h <<EOF
#undef OSMAJOR
#undef OSMINOR
#undef OSPLAT
$(
${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}cc -E -dM jam.h | grep -E '^#define (OSMAJOR|OSMINOR|OSPLAT) '
)
EOF
'';
buildPhase = ''
runHook preBuild
make $makeFlags jam0
./jam0 -j$NIX_BUILD_CORES -sCC=${buildPackages.stdenv.cc.targetPrefix}cc jambase.c
./jam0 -j$NIX_BUILD_CORES
runHook postBuild
'';
installPhase = ''
runHook preInstall
installBin bin.unix/jam
install -Dm644 -t ''${!outputDoc}/share/doc/jam-${finalAttrs.version}/ *.html
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "jam -v";
};
tests.os = testers.runCommand {
name = "${finalAttrs.finalPackage.name}-os";
nativeBuildInputs = [ finalAttrs.finalPackage ];
script = ''
echo 'echo $(OS) ;' > Jamfile
os=$(jam -d0)
[[ $os != UNKNOWN* ]] && touch $out
'';
};
};
meta = {
homepage = "https://swarm.workshop.perforce.com/projects/perforce_software-jam";
description = "Just Another Make";
longDescription = ''
Jam is a program construction tool, like make(1).
Jam recursively builds target files from source files, using dependency
information and updating actions expressed in the Jambase file, which is
written in jam's own interpreted language. The default Jambase is compiled
into jam and provides a boilerplate for common use, relying on a
user-provide file "Jamfile" to enumerate actual targets and sources.
'';
license = lib.licenses.free;
mainProgram = "jam";
maintainers = with lib.maintainers; [
impl
orivej
];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchurl,
unzip,
tnt,
}:
stdenv.mkDerivation rec {
pname = "jama";
version = "1.2.5";
src = fetchurl {
url = "https://math.nist.gov/tnt/jama125.zip";
sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl";
};
nativeBuildInputs = [ unzip ];
propagatedBuildInputs = [ tnt ];
unpackPhase = ''
mkdir "${pname}-${version}"
unzip "$src"
'';
installPhase = ''
mkdir -p $out/include
cp *.h $out/include
'';
meta = with lib; {
homepage = "https://math.nist.gov/tnt/";
description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates";
platforms = platforms.unix;
license = licenses.publicDomain;
};
}

View File

@@ -0,0 +1,135 @@
{
lib,
stdenv,
fetchFromGitHub,
makeDesktopItem,
makeWrapper,
wrapGAppsHook3,
stripJavaArchivesHook,
ant,
jdk,
jre,
gtk3,
glib,
libXtst,
}:
let
_version = "2.10.5";
_build = "488";
version = "${_version}-${_build}";
swtSystem =
if stdenv.hostPlatform.system == "i686-linux" then
"linux"
else if stdenv.hostPlatform.system == "x86_64-linux" then
"linux64"
else if stdenv.hostPlatform.system == "aarch64-linux" then
"linux-arm64"
else if stdenv.hostPlatform.system == "x86_64-darwin" then
"macos64"
else if stdenv.hostPlatform.system == "aarch64-darwin" then
"macos-aarch64"
else
throw "Unsupported system: ${stdenv.hostPlatform.system}";
desktopItem = makeDesktopItem {
name = "jameica";
exec = "jameica";
comment = "Free Runtime Environment for Java Applications.";
desktopName = "Jameica";
genericName = "Jameica";
icon = "jameica";
categories = [ "Office" ];
};
in
stdenv.mkDerivation rec {
pname = "jameica";
inherit version;
src = fetchFromGitHub {
owner = "willuhn";
repo = "jameica";
rev = "V_${builtins.replaceStrings [ "." ] [ "_" ] _version}_BUILD_${_build}";
hash = "sha256-xzSyq5Cse/TCzyb/eQNZyQS/I3mcPsvzWk3VjZg95gE=";
};
nativeBuildInputs = [
ant
jdk
wrapGAppsHook3
makeWrapper
stripJavaArchivesHook
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
gtk3
glib
libXtst
];
dontWrapGApps = true;
# there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
# and is not able to build the application itself
buildPhase = ''
runHook preBuild
ant -f build -Dsystem.version=${version} init compile jar ${lib.optionalString stdenv.hostPlatform.isDarwin "zip lib"}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/
# copy libraries except SWT
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/
# copy platform-specific SWT
cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
install -Dm644 plugin.xml $out/share/java/
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
cp ${desktopItem}/share/applications/* $out/share/applications/
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Create .app bundle for macOS
mkdir -p $out/Applications
chmod +x releases/${_version}-${_build}-${_build}/tmp/jameica.app/jameica*.sh
cp -r releases/${_version}-${_build}-${_build}/tmp/jameica.app $out/Applications/Jameica.app
''
+ ''
runHook postInstall
'';
postFixup = ''
makeWrapper ${jre}/bin/java $out/bin/jameica \
--add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${lib.optionalString stdenv.hostPlatform.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''} de.willuhn.jameica.Main" \
--prefix LD_LIBRARY_PATH : ${lib.escapeShellArg (lib.makeLibraryPath buildInputs)} \
--chdir "$out/share/java/" \
"''${gappsWrapperArgs[@]}"
'';
meta = {
homepage = "https://www.willuhn.de/products/jameica/";
description = "Free Runtime Environment for Java Applications";
longDescription = ''
Runtime Environment for plugins like Hibiscus (HBCI Online Banking),
SynTAX (accounting) and JVerein (club management).
'';
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
flokli
r3dl3g
];
mainProgram = "jameica";
};
}

View File

@@ -0,0 +1,308 @@
{
stdenv,
lib,
pkg-config,
fetchFromGitLab,
gitUpdater,
ffmpeg_6,
# for daemon
autoreconfHook,
perl, # for pod2man
alsa-lib,
asio,
dbus,
sdbus-cpp,
fmt,
gmp,
gnutls,
llhttp,
jsoncpp,
libarchive,
libgit2,
libjack2,
libnatpmp,
libpulseaudio,
libupnp,
msgpack-cxx,
openssl,
restinio,
secp256k1,
speex,
udev,
webrtc-audio-processing_0_3,
yaml-cpp,
zlib,
# for dhtnet
expected-lite,
# for client
cmake,
git,
networkmanager, # for libnm
python3,
libnotify,
md4c,
html-tidy,
hunspell,
qrencode,
qt6Packages,
wrapGAppsHook3,
zxing-cpp,
withWebengine ? true,
# for pjsip
fetchFromGitHub,
pjsip,
# for opendht
opendht,
}:
stdenv.mkDerivation rec {
pname = "jami";
version = "20250718.0";
src = fetchFromGitLab {
domain = "git.jami.net";
owner = "savoirfairelinux";
repo = "jami-client-qt";
rev = "stable/${version}";
hash = "sha256-EEiuymfu28bJ6pfBKwlsCGDq7XlKGZYK+2WjPJ+tcxw=";
fetchSubmodules = true;
};
pjsip-jami = pjsip.overrideAttrs (old: {
version = "sfl-2.15-unstable-2025-02-24";
src = fetchFromGitHub {
owner = "savoirfairelinux";
repo = "pjproject";
rev = "37130c943d59f25a71935803ea2d84515074a237";
hash = "sha256-7gAiriuooqqF38oajAuD/Lj5trn/9VMkCGOumcV45NA=";
};
configureFlags = [
"--disable-sound"
"--enable-video"
"--enable-ext-sound"
"--disable-android-mediacodec"
"--disable-speex-aec"
"--disable-g711-codec"
"--disable-l16-codec"
"--disable-gsm-codec"
"--disable-g722-codec"
"--disable-g7221-codec"
"--disable-speex-codec"
"--disable-ilbc-codec"
"--disable-opencore-amr"
"--disable-silk"
"--disable-sdl"
"--disable-ffmpeg"
"--disable-v4l2"
"--disable-openh264"
"--disable-resample"
"--disable-libwebrtc"
"--with-gnutls=yes"
]
++ lib.optionals stdenv.hostPlatform.isLinux [ "--enable-epoll" ];
buildInputs = old.buildInputs ++ [ gnutls ];
});
opendht-jami = opendht.override {
enableProxyServerAndClient = true;
enablePushNotifications = true;
};
dhtnet = stdenv.mkDerivation {
pname = "dhtnet";
version = "unstable-2025-05-26";
src = fetchFromGitLab {
domain = "git.jami.net";
owner = "savoirfairelinux";
repo = "dhtnet";
rev = "6c5ee3a21556d668d047cdedb5c4b746c3c6bdb2";
hash = "sha256-uweYSEysVMUC7DhI9BhS1TDZ6ZY7WQ9JS3ZF9lKA4Fo=";
};
postPatch = ''
substituteInPlace dependencies/build.py \
--replace-fail \
"wget https://raw.githubusercontent.com/martinmoene/expected-lite/master/include/nonstd/expected.hpp -O" \
"cp ${expected-lite}/include/nonstd/expected.hpp"
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
asio
fmt
gnutls
llhttp
jsoncpp
libupnp
msgpack-cxx
opendht-jami
openssl
pjsip-jami
python3
restinio
];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=Off"
"-DBUILD_BENCHMARKS=Off"
"-DBUILD_TOOLS=Off"
"-DBUILD_TESTING=Off"
"-DBUILD_DEPENDENCIES=Off"
"-DBUILD_EXAMPLE=Off"
];
meta = with lib; {
description = "Lightweight Peer-to-Peer Communication Library";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.linsui ];
};
};
daemon = stdenv.mkDerivation {
pname = "jami-daemon";
inherit src version meta;
sourceRoot = "${src.name}/daemon";
# Fix for libgit2 breaking changes
postPatch = ''
substituteInPlace src/jamidht/conversationrepository.cpp \
--replace-fail "git_commit* const" "const git_commit*"
'';
nativeBuildInputs = [
autoreconfHook
pkg-config
perl
];
buildInputs = [
alsa-lib
asio
dbus
dhtnet
sdbus-cpp
fmt
ffmpeg_6
gmp
gnutls
llhttp
libjack2
jsoncpp
libarchive
libgit2
libnatpmp
libpulseaudio
libupnp
msgpack-cxx
opendht-jami
openssl
pjsip-jami
restinio
secp256k1
speex
udev
webrtc-audio-processing_0_3
yaml-cpp
zlib
];
enableParallelBuilding = true;
};
qwindowkit-src = fetchFromGitHub {
owner = "stdware";
repo = "qwindowkit";
rev = "758b00cb6c2d924be3a1ea137ec366dc33a5132d";
hash = "sha256-qpVsF4gUX2noG9nKgjNP7FCEe59okZtDA8R/aZOef7Q=";
fetchSubmodules = true;
};
postPatch = ''
sed -i -e '/GIT_REPOSITORY/,+1c SOURCE_DIR ''${CMAKE_CURRENT_SOURCE_DIR}/qwindowkit' extras/build/cmake/contrib_tools.cmake
sed -i -e 's/if(DISTRO_NEEDS_QMSETUP_PATCH)/if(TRUE)/' CMakeLists.txt
cp -R --no-preserve=mode,ownership ${qwindowkit-src} qwindowkit
substituteInPlace CMakeLists.txt \
--replace-fail 'add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL)' 'find_package(ZXing)'
'';
preConfigure = ''
echo 'const char VERSION_STRING[] = "${version}";' > src/app/version.h
# Currently the daemon is still built seperately but jami expects it in CMAKE_INSTALL_PREFIX
# This can be removed in future versions when JAMICORE_AS_SUBDIR is on
mkdir -p $out
ln -s ${daemon} $out/daemon
'';
dontWrapGApps = true;
nativeBuildInputs = [
wrapGAppsHook3
qt6Packages.wrapQtAppsHook
pkg-config
cmake
git
python3
qt6Packages.qttools # for translations
];
buildInputs = [
ffmpeg_6
html-tidy
hunspell
libnotify
md4c
networkmanager
qrencode
zxing-cpp
]
++ (
with qt6Packages;
[
qtbase
qt5compat
qtnetworkauth
qtdeclarative
qtmultimedia
qtpositioning
qtsvg
qtwebchannel
]
++ lib.optionals withWebengine [ qtwebengine ]
);
cmakeFlags = lib.optionals (!withWebengine) [ "-DWITH_WEBENGINE=false" ];
qtWrapperArgs = [
# With wayland the titlebar is not themed and the wmclass is wrong.
"--set-default QT_QPA_PLATFORM xcb"
];
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru.updateScript = gitUpdater { rev-prefix = "stable/"; };
meta = with lib; {
homepage = "https://jami.net/";
description = "Free and universal communication platform that respects the privacy and freedoms of its users";
mainProgram = "jami";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.linsui ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchurl,
fftwFloat,
gtk2,
ladspaPlugins,
libjack2,
liblo,
libxml2,
makeWrapper,
pkg-config,
perlPackages,
}:
stdenv.mkDerivation (finalAttrs: {
version = "0.95.0";
pname = "jamin";
src = fetchurl {
url = "mirror://sourceforge/jamin/jamin-${finalAttrs.version}.tar.gz";
hash = "sha256-di/uiGgvJ4iORt+wE6mrXnmFM7m2dkP/HXdgUBk5uzw=";
};
nativeBuildInputs = [
pkg-config
makeWrapper
];
buildInputs = [
fftwFloat
gtk2
ladspaPlugins
libjack2
liblo
libxml2
]
++ (with perlPackages; [
perl
XMLParser
]);
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: jamin-preferences.o:/build/jamin-0.95.0/src/hdeq.h:64: multiple definition of
# `l_notebook1'; jamin-callbacks.o:/build/jamin-0.95.0/src/hdeq.h:64: first defined here
# `incompatible-pointer-types` fixes build on GCC 14, otherwise fails with:
# error: passing argument 4 of 'lo_server_thread_add_method' from incompatible pointer type
env.NIX_CFLAGS_COMPILE = "-fcommon -Wno-error=incompatible-pointer-types";
postInstall = ''
wrapProgram $out/bin/jamin --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa
'';
meta = {
homepage = "https://jamin.sourceforge.net";
description = "JACK Audio Mastering interface";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.nico202 ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,45 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
libsForQt5,
libjack2,
}:
stdenv.mkDerivation rec {
pname = "jamulus";
version = "3.11.0";
src = fetchFromGitHub {
owner = "jamulussoftware";
repo = "jamulus";
tag = "r${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-YxXSSVm3n96YzE51cXpWf4z2nQBSguvcEp/kU0a6iBA=";
};
nativeBuildInputs = [
pkg-config
libsForQt5.qmake
libsForQt5.wrapQtAppsHook
];
buildInputs = [
libsForQt5.qtscript
libsForQt5.qtbase
libsForQt5.qtmultimedia
libsForQt5.qtdeclarative
libjack2
];
qmakeFlags = [ "CONFIG+=noupcasename" ];
meta = {
description = "Enables musicians to perform real-time jam sessions over the internet";
longDescription = "You also need to enable JACK and should enable several real-time optimizations. See project website for details";
homepage = "https://github.com/corrados/jamulus";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
mainProgram = "jamulus";
maintainers = with lib.maintainers; [ seb314 ];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
appimageTools,
fetchurl,
}:
let
pname = "Jan";
version = "0.6.10";
src = fetchurl {
url = "https://github.com/menloresearch/jan/releases/download/v${version}/jan_${version}_amd64.AppImage";
hash = "sha256-eag8c/Jp2ahV71kEuFoT2rmz0S9RPbiqy5YBO0Z+ICY=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -Dm444 ${appimageContents}/Jan.desktop -t $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
'';
meta = {
changelog = "https://github.com/menloresearch/jan/releases/tag/v${version}";
description = "Jan is an open source alternative to ChatGPT that runs 100% offline on your computer";
homepage = "https://github.com/menloresearch/jan";
license = lib.licenses.agpl3Plus;
mainProgram = "Jan";
maintainers = [ ];
platforms = with lib.systems.inspect; patternLogicalAnd patterns.isLinux patterns.isx86_64;
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
testers,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "JankyBorders";
version = "1.8.4";
src = fetchFromGitHub {
owner = "FelixKratz";
repo = "JankyBorders";
rev = "v${finalAttrs.version}";
hash = "sha256-31Er+cUQNJbZnXKC6KvlrBhOvyPAM7nP3BaxunAtvWg=";
};
nativeBuildInputs = [
pkg-config
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./bin/borders $out/bin/borders
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
version = "borders-v${finalAttrs.version}";
};
updateScript = nix-update-script { };
};
meta = {
description = "Lightweight tool designed to add colored borders to user windows on macOS 14.0+";
longDescription = "It enhances the user experience by visually highlighting the currently focused window without relying on the accessibility API, thereby being faster than comparable tools.";
homepage = "https://github.com/FelixKratz/JankyBorders";
license = lib.licenses.gpl3;
mainProgram = "borders";
maintainers = with lib.maintainers; [ khaneliman ];
platforms = lib.platforms.darwin;
};
})

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
nix-update-script,
testers,
validatePkgConfig,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jansson";
version = "2.14.1";
outputs = [
"dev"
"out"
];
src = fetchFromGitHub {
owner = "akheron";
repo = "jansson";
rev = "v${finalAttrs.version}";
hash = "sha256-ct/EzRDrHkZrCcm98XGCbjbOM2h3AAMldPoTWA5+dAE=";
};
nativeBuildInputs = [
cmake
validatePkgConfig
];
cmakeFlags = [
# networkmanager relies on libjansson.so:
# https://github.com/NixOS/nixpkgs/pull/176302#issuecomment-1150239453
"-DJANSSON_BUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
# Fix the build with CMake 4.
#
# Remove on next release; upstream fix is coupled with additional
# changes in <https://github.com/akheron/jansson/pull/692>.
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10"
];
postFixup = ''
# Incorrectly references the dev output, libjansson.so is in out
substituteInPlace $dev/lib/cmake/jansson/janssonTargets-release.cmake \
--replace-fail "\''${_IMPORT_PREFIX}/lib" "$out/lib"
'';
passthru = {
tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
updateScript = nix-update-script { };
};
meta = {
description = "C library for encoding, decoding and manipulating JSON data";
homepage = "https://github.com/akheron/jansson";
changelog = "https://github.com/akheron/jansson/raw/${finalAttrs.src.rev}/CHANGES";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ getchoo ];
platforms = lib.platforms.all;
pkgConfigModules = [ "jansson" ];
};
})

View File

@@ -0,0 +1,109 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
gengetopt,
glib,
libconfig,
libnice,
jansson,
boringssl,
zlib,
srtp,
libuv,
libmicrohttpd,
curl,
libwebsockets,
sofia_sip,
libogg,
libopus,
usrsctp,
ffmpeg,
}:
let
libwebsockets_janus = libwebsockets.overrideAttrs (_: {
configureFlags = [
"-DLWS_MAX_SMP=1"
"-DLWS_WITHOUT_EXTENSIONS=0"
];
});
in
stdenv.mkDerivation rec {
pname = "janus-gateway";
version = "1.3.2";
src = fetchFromGitHub {
owner = "meetecho";
repo = "janus-gateway";
rev = "v${version}";
sha256 = "sha256-FvTNe2lpDBchhVLTD+fKtwTcuqsuSEeNWcRAbLibLbc=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
gengetopt
];
buildInputs = [
glib
libconfig
libnice
jansson
boringssl
zlib
srtp
libuv
libmicrohttpd
curl
libwebsockets_janus
sofia_sip
libogg
libopus
usrsctp
ffmpeg
];
enableParallelBuilding = true;
configureFlags = [
"--enable-boringssl=${lib.getDev boringssl}"
"--enable-libsrtp2"
"--enable-turn-rest-api"
"--enable-json-logger"
"--enable-gelf-event-handler"
"--enable-post-processing"
];
makeFlags = [
"BORINGSSL_LIBS=-L${lib.getLib boringssl}/lib"
# Linking with CXX because boringssl static libraries depend on C++ stdlib.
# Upstream issue: https://www.github.com/meetecho/janus-gateway/issues/3456
"CCLD=${stdenv.cc.targetPrefix}c++"
];
outputs = [
"out"
"dev"
"doc"
"man"
];
postInstall = ''
moveToOutput share/janus "$doc"
moveToOutput etc "$doc"
'';
meta = {
description = "General purpose WebRTC server";
homepage = "https://janus.conf.meetecho.com/";
changelog = "https://github.com/meetecho/janus-gateway/blob/v${version}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ fpletz ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchzip,
jdk11,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "janusgraph";
version = "1.1.0";
src = fetchzip {
url = "https://github.com/JanusGraph/janusgraph/releases/download/v${version}/janusgraph-${version}.zip";
sha256 = "sha256-gEtiY/FXNCtpVlohcTTuZ1V/EHr/trqYQKYUKy9wN4U=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin $out/share/janusgraph
install -D $src/lib/*.jar $out/share/janusgraph
cd $src
find conf scripts -type f -exec install -D {} $out/share/janusgraph/{} \;
JANUSGRAPH_LIB=$out/share/janusgraph
classpath=""
# Add the slf4j-log4j12 binding
classpath="$classpath":$(find -L $JANUSGRAPH_LIB -name 'slf4j-log4j12*.jar' | sort | tr '\n' ':')
# Add the jars in $JANUSGRAPH_LIB that start with "janusgraph"
classpath="$classpath":$(find -L $JANUSGRAPH_LIB -name 'janusgraph*.jar' | sort | tr '\n' ':')
# Add the remaining jars in $JANUSGRAPH_LIB.
classpath="$classpath":$(find -L $JANUSGRAPH_LIB -name '*.jar' \
\! -name 'janusgraph*' \
\! -name 'slf4j-log4j12*.jar' | sort | tr '\n' ':')
makeWrapper ${jdk11}/bin/java $out/bin/janusgraph-server \
--add-flags "-classpath $classpath org.janusgraph.graphdb.server.JanusGraphServer"
# temporary workaround for
# https://github.com/NixOS/nixpkgs/pull/244400#issuecomment-1667330430
cd "$TMPDIR"
'';
meta = with lib; {
description = "Open-source, distributed graph database";
homepage = "https://janusgraph.org/";
mainProgram = "janusgraph-server";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers.ners ];
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
libjack2,
fftwFloat,
libclthreads,
libclxclient,
libX11,
libXft,
zita-alsa-pcmi,
}:
stdenv.mkDerivation rec {
version = "0.9.4";
pname = "japa";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "sha256-t9wlZr+pE5u6yTpATWDQseC/rf4TFbtG0X9tnTdkB8I=";
};
buildInputs = [
alsa-lib
libjack2
fftwFloat
libclthreads
libclxclient
libX11
libXft
zita-alsa-pcmi
];
preConfigure = ''
cd ./source/
'';
makeFlags = [
"PREFIX=$(out)"
"SUFFIX=''"
];
meta = {
description = "'perceptual' or 'psychoacoustic' audio spectrum analyser for JACK and ALSA";
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/index.html";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.linux;
mainProgram = "japa";
};
}

View File

@@ -0,0 +1,80 @@
{
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
runCommand,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "jaq";
version = "2.3.0";
src = fetchFromGitHub {
owner = "01mf02";
repo = "jaq";
tag = "v${finalAttrs.version}";
hash = "sha256-ZVTDbJ5RPgQeB4ntnNQcbbWquPFL7q4WYyQ5ihCVB64=";
};
cargoHash = "sha256-hEILrjIJK/8CrQv5QcHu+AtPV7KcPdmw6422MyNoPwo=";
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
tests.simple =
runCommand "jaq-test"
{
nativeBuildInputs = [ finalAttrs.finalPackage ];
}
''
set -o pipefail
# checking if 1 + 2 == 3.
if [[ "$(echo '{"a": 1, "b": 2}' | jaq 'add')" -eq 3 ]]; then
echo "test 1 passed"
else
echo "test 1 failed"
exit 1
fi
# echo out 0-3, map over them multiplying by 2, keep all elements under 5, add the results up together. Should be 6
if [[ "$(echo '[0, 1, 2, 3]' | jaq 'map(.*2) | [.[] | select(. < 5)] | add')" -eq 6 ]]; then
echo "test 2 passed"
else
echo "test 2 failed"
exit 1
fi
# fail on malformed input
if ! echo "0, 1, 4, " | jaq &>/dev/null; then
echo "test 3 passed"
else
echo "test 3 failed"
exit 1
fi
echo "All tests passed!"
touch $out
'';
};
meta = {
description = "Jq clone focused on correctness, speed and simplicity";
homepage = "https://github.com/01mf02/jaq";
changelog = "https://github.com/01mf02/jaq/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
teams = [ lib.teams.ngi ];
maintainers = with lib.maintainers; [
figsoda
siraben
];
mainProgram = "jaq";
};
})

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
catch2_3,
}:
stdenv.mkDerivation rec {
pname = "jarowinkler-cpp";
version = "1.0.2";
src = fetchFromGitHub {
owner = "maxbachmann";
repo = "jarowinkler-cpp";
rev = "v${version}";
hash = "sha256-GuwDSCYTfSwqTnzZSft3ufVSKL7255lVvbJhBxKxjJw=";
};
nativeBuildInputs = [
cmake
];
cmakeFlags = lib.optionals doCheck [
"-DJARO_WINKLER_BUILD_TESTING=ON"
];
nativeCheckInputs = [
catch2_3
];
doCheck = true;
meta = {
description = "Fast Jaro and Jaro-Winkler distance";
homepage = "https://github.com/maxbachmann/jarowinkler-cpp";
changelog = "https://github.com/maxbachmann/jarowinkler-cpp/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,63 @@
{
stdenv,
lib,
fetchurl,
ocamlPackages,
mpfr,
ppl,
}:
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
version = "2025.06.1";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
hash = "sha256-6StC+mnafHMLDCbaz4QqcrT+vK9PIVeh3BizzOH4Wfo=";
};
nativeBuildInputs = with ocamlPackages; [
ocaml
findlib
dune_3
menhir
camlidl
cmdliner
];
buildInputs = [
mpfr
ppl
]
++ (with ocamlPackages; [
apron
yojson
]);
propagatedBuildInputs = with ocamlPackages; [
angstrom
batteries
menhirLib
zarith
];
outputs = [
"bin"
"lib"
"out"
];
preInstall = ''
export PREFIX=$lib
export DUNE_OPTS="--prefix=$bin --libdir=$out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib"
'';
meta = {
description = "Workbench for high-assurance and high-speed cryptography";
homepage = "https://github.com/jasmin-lang/jasmin/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
mainProgram = "jasminc";
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchurl,
unzip,
ant,
jdk8,
makeWrapper,
stripJavaArchivesHook,
callPackage,
}:
let
jdk = jdk8;
jre = jdk8.jre;
in
stdenv.mkDerivation (finalAttrs: {
pname = "jasmin";
version = "2.4";
src = fetchurl {
url = "mirror://sourceforge/jasmin/jasmin-${finalAttrs.version}.zip";
hash = "sha256-6qEMaM7Gggb9EC6exxE3OezNeQEIoblabow+k/IORJ0=";
};
nativeBuildInputs = [
unzip
ant
jdk
makeWrapper
stripJavaArchivesHook
];
buildPhase = ''
runHook preBuild
ant all
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 jasmin.jar $out/share/java/jasmin.jar
makeWrapper ${jre}/bin/java $out/bin/jasmin \
--add-flags "-jar $out/share/java/jasmin.jar"
runHook postInstall
'';
passthru.tests = {
minimal-module = callPackage ./test-assemble-hello-world { };
};
meta = with lib; {
description = "Assembler for the Java Virtual Machine";
downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
homepage = "https://jasmin.sourceforge.net/";
license = licenses.bsd3;
mainProgram = "jasmin";
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,31 @@
.class public HelloWorld
.super java/lang/Object
;
; standard initializer (calls java.lang.Object's initializer)
;
.method public <init>()V
aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method
;
; main() - prints out Hello World
;
.method public static main([Ljava/lang/String;)V
.limit stack 2 ; up to two items can be pushed
; push System.out onto the stack
getstatic java/lang/System/out Ljava/io/PrintStream;
; push a string onto the stack
ldc "Hello World!"
; call the PrintStream.println() method.
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
; done
return
.end method

View File

@@ -0,0 +1,15 @@
{
stdenv,
jasmin,
jre,
}:
stdenv.mkDerivation {
name = "jasmin-test-assemble-hello-world";
meta.timeout = 60;
buildCommand = ''
${jasmin}/bin/jasmin ${./HelloWorld.j}
${jre}/bin/java HelloWorld | grep "Hello World"
touch $out
'';
}

View File

@@ -0,0 +1,29 @@
diff --git a/Tools/CMake/Install.cmake b/Tools/CMake/Install.cmake
index edd96b0..1fbdb3c 100644
--- a/Tools/CMake/Install.cmake
+++ b/Tools/CMake/Install.cmake
@@ -229,24 +229,10 @@ if(LINUX)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/Resources/
DESTINATION ${JASP_INSTALL_RESOURCEDIR})
- install(
- DIRECTORY ${MODULES_BINARY_PATH}/binary_pkgs ${MODULES_BINARY_PATH}/manifests ${MODULES_BINARY_PATH}/module_libs ${MODULES_BINARY_PATH}/Tools
- DESTINATION ${JASP_INSTALL_MODULEDIR}
- REGEX ${FILES_EXCLUDE_PATTERN} EXCLUDE
- REGEX ${FOLDERS_EXCLUDE_PATTERN} EXCLUDE)
-
install(
FILES ${MODULES_BINARY_PATH}/modules-settings.json
DESTINATION ${JASP_INSTALL_MODULEDIR}
)
- # we do not need renv-root in an install
- #install(DIRECTORY ${MODULES_RENV_ROOT_PATH}/
- # DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-root)
-
-if(NOT FLATPAK_USED) #because flatpak already puts renv-cache in /app/lib64 anyway
- install(DIRECTORY ${MODULES_RENV_CACHE_PATH}/
- DESTINATION ${JASP_INSTALL_PREFIX}/lib64/renv-cache)
-endif()
#Flatpak wrapper that sets some environment variables that JASP needs
install(PROGRAMS ${CMAKE_SOURCE_DIR}/Tools/flatpak/org.jaspstats.JASP

View File

@@ -0,0 +1,30 @@
diff --git a/Tools/CMake/R.cmake b/Tools/CMake/R.cmake
index 42e7b88..405b434 100644
--- a/Tools/CMake/R.cmake
+++ b/Tools/CMake/R.cmake
@@ -867,14 +867,6 @@ else()
configure_file(${PROJECT_SOURCE_DIR}/Modules/install-renv.R.in
${SCRIPT_DIRECTORY}/install-renv.R @ONLY)
-
-execute_process(
- COMMAND_ECHO STDOUT
- #ERROR_QUIET OUTPUT_QUIET
- WORKING_DIRECTORY ${R_HOME_PATH}
- COMMAND
- ${R_EXECUTABLE} --slave --no-restore --no-save --file=${SCRIPT_DIRECTORY}/install-renv.R
-)
if(APPLE)
# Patch renv
@@ -937,8 +929,8 @@ execute_process(
include(FindRPackagePath)
-find_package_path(RCPP_PATH ${R_CPP_INCLUDES_LIBRARY} "Rcpp")
-find_package_path(RINSIDE_PATH ${R_CPP_INCLUDES_LIBRARY} "RInside")
+find_package_path(RCPP_PATH ${R_LIBRARY_PATH} "Rcpp")
+find_package_path(RINSIDE_PATH ${R_LIBRARY_PATH} "RInside")
set(RENV_PATH "${RENV_LIBRARY}/renv")

View File

@@ -0,0 +1,16 @@
diff --git a/Tools/CMake/Programs.cmake b/Tools/CMake/Programs.cmake
index 4e7c052..abb5b48 100644
--- a/Tools/CMake/Programs.cmake
+++ b/Tools/CMake/Programs.cmake
@@ -38,8 +38,9 @@ if(NOT WIN32)
endif()
# ------ Linux Tools/Programs
-
-if(LINUX)
+# We don't need to check for any dependencies that are used to build R packages
+# since we build them separately
+if(false)
message(CHECK_START "Looking for 'gfortran'")
find_program(

View File

@@ -0,0 +1,13 @@
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
index a6673d9..a079021 100644
--- a/Tools/CMake/Libraries.cmake
+++ b/Tools/CMake/Libraries.cmake
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
endif()
endif()
-set(Boost_USE_STATIC_LIBS ON)
+add_definitions(-DBOOST_LOG_DYN_LINK)
find_package(
Boost 1.78 REQUIRED
COMPONENTS filesystem

View File

@@ -0,0 +1,873 @@
{
rPackages,
fetchFromGitHub,
jasp-src,
jasp-version,
}:
with rPackages;
let
buildRPackage' = args: buildRPackage ({ name = "${args.pname}-${args.version}"; } // args);
jaspGraphs = buildRPackage' {
pname = "jaspGraphs";
version = "0.19.2-unstable-2025-07-25";
src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jaspGraphs";
rev = "e721a631c8357d42c1371a978db7cb5765bc7044";
hash = "sha256-DOOKHBVTF9bVhAa/LZCH1J7A821H4mGEfy6KAEtDBNk=";
};
propagatedBuildInputs = [
ggplot2
gridExtra
gtable
lifecycle
jsonlite
R6
RColorBrewer
rlang
scales
viridisLite
];
};
jaspColumnEncoder-src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jaspColumnEncoder";
rev = "32c53153da95087feb109c0f5f69534ffa3f32b7";
hash = "sha256-VOMcoXpLH24auQfZCWW6hQ10u6n2GxuEQHMaXrvGTnI=";
};
jaspBase = buildRPackage' {
pname = "jaspBase";
version = jasp-version;
src = jasp-src;
sourceRoot = "${jasp-src.name}/Engine/jaspBase";
env.INCLUDE_DIR = "../inst/include/jaspColumnEncoder";
postPatch = ''
mkdir -p inst/include
cp -r --no-preserve=all ${jaspColumnEncoder-src} inst/include/jaspColumnEncoder
'';
propagatedBuildInputs = [
cli
codetools
ggplot2
gridExtra
gridGraphics
jaspGraphs
jsonlite
lifecycle
modules
officer
pkgbuild
plyr
qgraph
ragg
R6
Rcpp
renv
remotes
rjson
rvg
svglite
systemfonts
withr
];
};
stanova = buildRPackage' {
pname = "stanova";
version = "0.3-unstable-2021-06-06";
src = fetchFromGitHub {
owner = "bayesstuff";
repo = "stanova";
rev = "988ad8e07cda1674b881570a85502be7795fbd4e";
hash = "sha256-tAeHqTHao2KVRNFBDWmuF++H31aNN6O1ss1Io500QBY=";
};
propagatedBuildInputs = [
emmeans
lme4
coda
rstan
MASS
];
};
bstats = buildRPackage' {
pname = "bstats";
version = "0.0.0.9004-unstable-2023-09-08";
src = fetchFromGitHub {
owner = "AlexanderLyNL";
repo = "bstats";
rev = "42d34c18df08d233825bae34fdc0dfa0cd70ce8c";
hash = "sha256-N2KmbTPbyvzsZTWBRE2x7bteccnzokUWDOB4mOWUdJk=";
};
propagatedBuildInputs = [
hypergeo
purrr
SuppDists
];
};
flexplot = buildRPackage' {
pname = "flexplot";
version = "0.25.5";
src = fetchFromGitHub {
owner = "dustinfife";
repo = "flexplot";
rev = "9a39de871d48364dd5f096b2380a4c9907adf4c3";
hash = "sha256-yf5wbhfffztT5iF6h/JSg4NSbuaexk+9JEOfT5Is1vE=";
};
propagatedBuildInputs = [
cowplot
MASS
tibble
withr
dplyr
magrittr
forcats
purrr
plyr
R6
ggplot2
patchwork
ggsci
lme4
party
mgcv
rlang
];
};
# conting has been removed from CRAN
conting' = buildRPackage' {
pname = "conting";
version = "1.7.9999";
src = fetchFromGitHub {
owner = "vandenman";
repo = "conting";
rev = "03a4eb9a687e015d602022a01d4e638324c110c8";
hash = "sha256-Sp09YZz1WGyefn31Zy1qGufoKjtuEEZHO+wJvoLArf0=";
};
propagatedBuildInputs = [
mvtnorm
gtools
tseries
coda
];
};
buildJaspModule =
{
pname,
version,
hash,
deps,
}:
buildRPackage' {
inherit pname version;
src = fetchFromGitHub {
name = "${pname}-${version}-source";
owner = "jasp-stats";
repo = pname;
tag = "v${version}";
inherit hash;
};
propagatedBuildInputs = deps;
# some packages have a .Rprofile that tries to activate renv
# we disable this by removing .Rprofile
postPatch = ''
rm -f .Rprofile
'';
};
in
{
inherit jaspBase;
modules = rec {
jaspAcceptanceSampling = buildJaspModule {
pname = "jaspAcceptanceSampling";
version = "0.95.0";
hash = "sha256-MzuijLBrCd/aIACzyEWWbQoyuYl/c7iMplsIpScbqK4=";
deps = [
abtest
BayesFactor
conting'
ggplot2
jaspBase
jaspGraphs
plyr
stringr
vcd
vcdExtra
AcceptanceSampling
];
};
jaspAnova = buildJaspModule {
pname = "jaspAnova";
version = "0.95.0";
hash = "sha256-elunqlNy7krnoL31aeS4B7SkpKCD42S8Z8HsPeFTjEM=";
deps = [
afex
BayesFactor
boot
car
colorspace
emmeans
effectsize
ggplot2
jaspBase
jaspDescriptives
jaspGraphs
jaspTTests
KernSmooth
matrixStats
multcomp
multcompView
mvShapiroTest
onewaytests
plyr
stringi
stringr
restriktor
];
};
jaspAudit = buildJaspModule {
pname = "jaspAudit";
version = "0.95.0";
hash = "sha256-CqrjrNm7DEyzOTg69TzksYczGBSCvhHfdfZ/HaNkhcI=";
deps = [
bstats
extraDistr
ggplot2
ggrepel
jaspBase
jaspGraphs
jfa
];
};
jaspBain = buildJaspModule {
pname = "jaspBain";
version = "0.95.0";
hash = "sha256-E6j7dH6jbXWhR03QVQjY30/pylrMHU6PNX13gr5KvV4=";
deps = [
bain
lavaan
ggplot2
semPlot
stringr
jaspBase
jaspGraphs
jaspSem
];
};
jaspBFF = buildJaspModule {
pname = "jaspBFF";
version = "0.95.0";
hash = "sha256-fgAUdzgSNt34WL/U3/0ac1kTB5PYAvmpXeQUuNEUhuE=";
deps = [
BFF
jaspBase
jaspGraphs
];
};
jaspBfpack = buildJaspModule {
pname = "jaspBfpack";
version = "0.95.0";
hash = "sha256-4c7ORf0epHSdv6AB1UVMwiSEwCfVHAg0jzifBdHInoc=";
deps = [
BFpack
bain
ggplot2
stringr
coda
jaspBase
jaspGraphs
];
};
jaspBsts = buildJaspModule {
pname = "jaspBsts";
version = "0.95.0";
hash = "sha256-pClbOuA255mHJSy7/TpQE+oaYQbxJut9AqZRMqm8Rhg=";
deps = [
Boom
bsts
ggplot2
jaspBase
jaspGraphs
matrixStats
reshape2
];
};
jaspCircular = buildJaspModule {
pname = "jaspCircular";
version = "0.95.0";
hash = "sha256-Sx63VGtOZvwHF1jIjnd6aPmN1WtHHf35iQ0dzCWs1eU=";
deps = [
jaspBase
jaspGraphs
circular
ggplot2
];
};
jaspCochrane = buildJaspModule {
pname = "jaspCochrane";
version = "0.95.0";
hash = "sha256-ZYMe1BJ0+HKKyHVY5riEcGE+6vZsAurWzHmPF5I7nk8=";
deps = [
jaspBase
jaspGraphs
jaspDescriptives
jaspMetaAnalysis
];
};
jaspDescriptives = buildJaspModule {
pname = "jaspDescriptives";
version = "0.95.0";
hash = "sha256-gaGgSSv1D0GB8Rmzg9TYl460TjWHkK0abHDm5DHhOJg=";
deps = [
ggplot2
ggrepel
jaspBase
jaspGraphs
jaspTTests
forecast
flexplot
ggrain
ggpp
ggtext
dplyr
tidyplots
ggpubr
forcats
patchwork
];
};
jaspDistributions = buildJaspModule {
pname = "jaspDistributions";
version = "0.95.0";
hash = "sha256-jtPYx2wOAY7ItrkPqyMsKp7sTrL9M1TtTmR0IjxU1nw=";
deps = [
car
fitdistrplus
ggplot2
goftest
gnorm
jaspBase
jaspGraphs
MASS
nortest
sgt
sn
];
};
jaspEquivalenceTTests = buildJaspModule {
pname = "jaspEquivalenceTTests";
version = "0.95.0";
hash = "sha256-b/I6lb6I8rzOyyRgmsQTBMfHXfJDkrZPdwe5Kh2IVnc=";
deps = [
BayesFactor
ggplot2
jaspBase
jaspGraphs
metaBMA
TOSTER
jaspTTests
];
};
jaspEsci = buildJaspModule {
pname = "jaspEsci";
version = "0.95.0";
hash = "sha256-0YBC54VdVNuGdkfjWEIJnW3n/Wbch4E6tkauVm45/9c=";
deps = [
jaspBase
jaspGraphs
esci
glue
vdiffr
legendry
];
};
jaspFactor = buildJaspModule {
pname = "jaspFactor";
version = "0.95.0";
hash = "sha256-gK4GdwADrPt2UB/UUx+2Kx5IOlFolYjNArrYpTGK9ic=";
deps = [
ggplot2
jaspBase
jaspGraphs
jaspSem
lavaan
psych
qgraph
reshape2
semPlot
GPArotation
Rcsdp
semTools
];
};
jaspFrequencies = buildJaspModule {
pname = "jaspFrequencies";
version = "0.95.0";
hash = "sha256-aK4t+q6NRHGiszJa6rWx1bQddxzwynM9TOckxofdgsw";
deps = [
abtest
BayesFactor
bridgesampling
conting'
multibridge
ggplot2
interp
jaspBase
jaspGraphs
plyr
stringr
vcd
vcdExtra
];
};
jaspJags = buildJaspModule {
pname = "jaspJags";
version = "0.95.0";
hash = "sha256-DxLy3NgqvLIROBut30ne3hCUd67rCRutgM7zGvwkKNU=";
deps = [
coda
ggplot2
ggtext
hexbin
jaspBase
jaspGraphs
rjags
runjags
scales
stringr
];
};
jaspLearnBayes = buildJaspModule {
pname = "jaspLearnBayes";
version = "0.95.0";
hash = "sha256-mka93YglICKxPXNO85Kv/gzSRAMuTkWcnAlwIExDpi0=";
deps = [
extraDistr
ggplot2
HDInterval
jaspBase
jaspGraphs
MASS
MCMCpack
MGLM
scales
ggalluvial
ragg
rjags
runjags
ggdist
png
posterior
];
};
jaspLearnStats = buildJaspModule {
pname = "jaspLearnStats";
version = "0.95.0";
hash = "sha256-AcdSmAGr1ITZV/OXNpyOz0wwBlho76lvEGgt5FUHnsg=";
deps = [
extraDistr
ggplot2
jaspBase
jaspGraphs
jaspDistributions
jaspDescriptives
jaspTTests
ggforce
tidyr
igraph
HDInterval
metafor
];
};
jaspMachineLearning = buildJaspModule {
pname = "jaspMachineLearning";
version = "0.95.0";
hash = "sha256-oCsXrcEAteFGfFHU65FV3jm1majA1q1w+TYCwAsvf70=";
deps = [
kknn
AUC
cluster
colorspace
DALEX
dbscan
e1071
fpc
gbm
Gmedian
ggparty
ggdendro
ggnetwork
ggplot2
ggrepel
ggridges
glmnet
jaspBase
jaspGraphs
MASS
mclust
mvnormalTest
neuralnet
network
partykit
plyr
randomForest
rpart
ROCR
Rtsne
signal
VGAM
];
};
jaspMetaAnalysis = buildJaspModule {
pname = "jaspMetaAnalysis";
version = "0.95.0";
hash = "sha256-5zmLCx6HuM/oBxfaAgo4y7/CYJJkiJEP9RvAsc1h/5w=";
deps = [
dplyr
ggplot2
jaspBase
jaspGraphs
jaspSem
MASS
metaBMA
metafor
metaSEM
psych
purrr
rstan
stringr
tibble
tidyr
weightr
BayesTools
RoBMA
metamisc
ggmcmc
pema
clubSandwich
CompQuadForm
sp
dfoptim
nleqslv
patchwork
];
};
jaspMixedModels = buildJaspModule {
pname = "jaspMixedModels";
version = "0.95.0";
hash = "sha256-EbB7rwlfRiGPI+QIi8/SygxJgsU5nOpZ2ZEg+mETX5Y=";
deps = [
afex
emmeans
ggplot2
ggpol
jaspBase
jaspGraphs
lme4
loo
mgcv
rstan
rstanarm
stanova
withr
];
};
jaspNetwork = buildJaspModule {
pname = "jaspNetwork";
version = "0.95.0";
hash = "sha256-1RDkKRgNV6cToM2pVdHwIDE41UpFV0snIU54BEesVJw=";
deps = [
bootnet
easybgm
corpcor
dplyr
foreach
ggplot2
gtools
HDInterval
huge
IsingSampler
jaspBase
jaspGraphs
mvtnorm
qgraph
reshape2
snow
stringr
];
};
jaspPower = buildJaspModule {
pname = "jaspPower";
version = "0.95.0";
hash = "sha256-sLLJ6yqKbFlXrHPlm2G7NuHp+/kBl+kPRvi6vAy32Ds=";
deps = [
pwr
jaspBase
jaspGraphs
];
};
jaspPredictiveAnalytics = buildJaspModule {
pname = "jaspPredictiveAnalytics";
version = "0.95.0";
hash = "sha256-850PruQnCGab0g3Vdlh1LSqWYLFJUCbGNt3gWjEWP34=";
deps = [
jaspBase
jaspGraphs
bsts
bssm
precrec
reshape2
Boom
lubridate
prophet
BART
EBMAforecast
imputeTS
scoringRules
scoringutils
];
};
jaspProcess = buildJaspModule {
pname = "jaspProcess";
version = "0.95.0";
hash = "sha256-LUlk9Iy538Zenzy+W1oJiCr7dcrBQVrl4gzflwnJVyc=";
deps = [
blavaan
dagitty
ggplot2
ggraph
jaspBase
jaspGraphs
jaspJags
runjags
];
};
jaspProphet = buildJaspModule {
pname = "jaspProphet";
version = "0.95.0";
hash = "sha256-lCgqH3CfZxRImq5VndZepiy/JaXJHHh1Haj+7XhZUSE=";
deps = [
rstan
ggplot2
jaspBase
jaspGraphs
prophet
scales
];
};
jaspQualityControl = buildJaspModule {
pname = "jaspQualityControl";
version = "0.95.0";
hash = "sha256-6SvLe++9ipvHfX0Hi1xeBeoQeq+PdG9YTE5sewhqUHA=";
deps = [
car
cowplot
daewr
desirability
DoE_base
EnvStats
FAdist
fitdistrplus
FrF2
ggplot2
ggrepel
goftest
ggpp
irr
jaspBase
jaspDescriptives
jaspGraphs
mle_tools
psych
qcc
rsm
Rspc
tidyr
tibble
vipor
weibullness
];
};
jaspRegression = buildJaspModule {
pname = "jaspRegression";
version = "0.95.0";
hash = "sha256-9Q5Ei9vjFaDte//1seCj9++ftbDctkHzP8ZpGVETXH0=";
deps = [
BAS
boot
bstats
combinat
emmeans
ggplot2
ggrepel
hmeasure
jaspAnova
jaspBase
jaspDescriptives
jaspGraphs
jaspTTests
lmtest
logistf
MASS
matrixStats
mdscore
ppcor
purrr
Rcpp
statmod
VGAM
];
};
jaspReliability = buildJaspModule {
pname = "jaspReliability";
version = "0.95.0";
hash = "sha256-wxx1ECm7QKDvLLKQZbEVYTHfyn3ieks69HSP/cg5dDQ=";
deps = [
Bayesrel
coda
ggplot2
ggridges
irr
jaspBase
jaspGraphs
LaplacesDemon
lme4
MASS
psych
mirt
];
};
jaspRobustTTests = buildJaspModule {
pname = "jaspRobustTTests";
version = "0.95.0";
hash = "sha256-nw+7eZycdJ+DHlLaTSBWdHocnaZk95PBqYj8sVFlPSg=";
deps = [
RoBTT
ggplot2
jaspBase
jaspGraphs
];
};
jaspSem = buildJaspModule {
pname = "jaspSem";
version = "0.95.0";
hash = "sha256-+cgP6KqSK4tXQ+Dg6OTEoXfzEJFNdnwAat6tyWyzSkU=";
deps = [
forcats
ggplot2
lavaan
cSEM
reshape2
jaspBase
jaspGraphs
semPlot
semTools
stringr
tibble
tidyr
SEMsens
];
};
jaspSummaryStatistics = buildJaspModule {
pname = "jaspSummaryStatistics";
version = "0.95.0";
hash = "sha256-VuBDJtkDifDeatY3eX5RBd5ix6fB0QnJ1ZoM7am9SOA=";
deps = [
BayesFactor
bstats
jaspBase
jaspFrequencies
jaspGraphs
jaspRegression
jaspTTests
jaspAnova
jaspDescriptives
SuppDists
bayesplay
];
};
jaspSurvival = buildJaspModule {
pname = "jaspSurvival";
version = "0.95.0";
hash = "sha256-IVN3Tcd+OgD4pancwyNomQMOfOvUnKIWG/nxKdjNxcw=";
deps = [
survival
ggsurvfit
flexsurv
jaspBase
jaspGraphs
];
};
jaspTTests = buildJaspModule {
pname = "jaspTTests";
version = "0.95.0";
hash = "sha256-CLrfa5X/q2Ruc+y3ruHnT/NhYQ4ESvxtJCH2JM/hf4o=";
deps = [
BayesFactor
car
ggplot2
jaspBase
jaspGraphs
logspline
plotrix
plyr
];
};
jaspTestModule = buildJaspModule {
pname = "jaspTestModule";
version = "0.95.0";
hash = "sha256-r+VzUxfvWYl/Fppq/TxCw1jI8F3dohsvb6qwlQHlFDA=";
deps = [
jaspBase
jaspGraphs
svglite
stringi
];
};
jaspTimeSeries = buildJaspModule {
pname = "jaspTimeSeries";
version = "0.95.0";
hash = "sha256-hQh9p6mX3NlkToh4uQRbPtwpNLlVwsILxH+9D2caZXk=";
deps = [
jaspBase
jaspGraphs
jaspDescriptives
forecast
];
};
jaspVisualModeling = buildJaspModule {
pname = "jaspVisualModeling";
version = "0.95.0";
hash = "sha256-MX3NvfVoFPp2NLWYIYIoCdWKHxpcRhfyMCWj3VdIBC0=";
deps = [
flexplot
jaspBase
jaspGraphs
jaspDescriptives
];
};
};
}

View File

@@ -0,0 +1,137 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
buildEnv,
linkFarm,
cmake,
ninja,
pkg-config,
boost,
freexl,
libarchive,
librdata,
qt6,
R,
readstat,
rPackages,
}:
let
version = "0.95.0";
src = fetchFromGitHub {
owner = "jasp-stats";
repo = "jasp-desktop";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-RR7rJJb0qKqZs7K3zP6GxlDXpmSNnGQ3WDExUgm9pKQ=";
};
moduleSet = import ./modules.nix {
inherit fetchFromGitHub rPackages;
jasp-src = src;
jasp-version = version;
};
inherit (moduleSet) jaspBase modules;
# Merges ${R}/lib/R with all used R packages (even propagated ones)
customREnv = buildEnv {
name = "jasp-${version}-env";
paths = [
"${R}/lib/R"
rPackages.RInside
jaspBase # Should already be propagated from modules, but include it again, just in case
]
++ lib.attrValues modules;
};
moduleLibs = linkFarm "jasp-${version}-module-libs" (
lib.mapAttrsToList (name: drv: {
name = name;
path = "${drv}/library";
}) modules
);
in
stdenv.mkDerivation {
pname = "jasp-desktop";
inherit version src;
patches = [
(fetchpatch {
name = "readstat-use-find-library.patch";
url = "https://github.com/jasp-stats/jasp-desktop/commit/87c5a1f4724833aed0f7758499b917b3107ee196.patch";
hash = "sha256-0CrMKJkZpS97KmQFvZPyV1h3C7eKVr/IT0dARYBoKFo=";
})
./link-boost-dynamically.patch
./disable-module-install-logic.patch # don't try to install modules via cmake
./disable-renv-logic.patch
./dont-check-for-module-deps.patch # dont't check for dependencies required for building modules
];
cmakeFlags = [
(lib.cmakeFeature "GITHUB_PAT" "dummy")
(lib.cmakeFeature "GITHUB_PAT_DEF" "dummy")
(lib.cmakeBool "LINUX_LOCAL_BUILD" false)
(lib.cmakeBool "INSTALL_R_MODULES" false)
(lib.cmakeFeature "CUSTOM_R_PATH" "${customREnv}")
];
nativeBuildInputs = [
cmake
ninja
pkg-config
qt6.wrapQtAppsHook
];
buildInputs = [
boost
customREnv
freexl
libarchive
librdata
readstat
qt6.qtbase
qt6.qtdeclarative
qt6.qtwebengine
qt6.qtsvg
qt6.qt5compat
];
# needed so that the linker can find libRInside.so
env.NIX_LDFLAGS = "-L${rPackages.RInside}/library/RInside/lib";
postInstall = ''
# Remove flatpak proxy script
rm $out/bin/org.jaspstats.JASP
substituteInPlace $out/share/applications/org.jaspstats.JASP.desktop \
--replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP"
# symlink modules from the store
ln -s ${moduleLibs} $out/Modules/module_libs
'';
passthru = {
inherit jaspBase modules;
env = customREnv;
};
meta = {
changelog = "https://jasp-stats.org/release-notes";
description = "Complete statistical package for both Bayesian and Frequentist statistical methods";
homepage = "https://github.com/jasp-stats/jasp-desktop";
license = lib.licenses.agpl3Plus;
mainProgram = "JASP";
maintainers = with lib.maintainers; [ tomasajt ];
# JASP's cmake build steps are really different on Darwin
# Perhaps the Darwin-specific things could be changed to be the same as Linux
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,102 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
gnome-themes-extra,
gtk-engine-murrine,
jdupes,
sassc,
themeVariants ? [ ], # default: teal
colorVariants ? [ ], # default: all
sizeVariants ? [ ], # default: standard
tweaks ? [ ],
}:
let
pname = "jasper-gtk-theme";
in
lib.checkListOfEnum "${pname}: theme variants"
[
"default"
"purple"
"pink"
"red"
"orange"
"yellow"
"green"
"blue"
"grey"
"all"
]
themeVariants
lib.checkListOfEnum
"${pname}: color variants"
[ "standard" "light" "dark" ]
colorVariants
lib.checkListOfEnum
"${pname}: size variants"
[ "standard" "compact" ]
sizeVariants
lib.checkListOfEnum
"${pname}: tweaks"
[
"nord"
"dracula"
"black"
"macos"
]
tweaks
stdenvNoCC.mkDerivation
{
inherit pname;
version = "0-unstable-2025-04-02";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = "Jasper-gtk-theme";
rev = "71cb99a6618d839b1058cb8e6660a3b2f63aca70";
hash = "sha256-ZWPUyVszDPUdzttAJuIA9caDpP4SQ7mIbCoczxwvsus=";
};
nativeBuildInputs = [
jdupes
sassc
];
buildInputs = [
gnome-themes-extra
];
propagatedUserEnvPkgs = [
gtk-engine-murrine
];
postPatch = ''
patchShebangs install.sh
'';
installPhase = ''
runHook preInstall
name= HOME="$TMPDIR" ./install.sh \
${lib.optionalString (themeVariants != [ ]) "--theme " + toString themeVariants} \
${lib.optionalString (colorVariants != [ ]) "--color " + toString colorVariants} \
${lib.optionalString (sizeVariants != [ ]) "--size " + toString sizeVariants} \
${lib.optionalString (tweaks != [ ]) "--tweaks " + toString tweaks} \
--dest $out/share/themes
jdupes --quiet --link-soft --recurse $out/share
runHook postInstall
'';
meta = {
description = "Modern and clean Gtk theme";
homepage = "https://github.com/vinceliuice/Jasper-gtk-theme";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.romildo ];
};
}

View File

@@ -0,0 +1,102 @@
{
lib,
cmake,
fetchFromGitHub,
libglut,
libGL,
libheif,
libjpeg,
pkg-config,
stdenv,
enableHEIFCodec ? true,
enableJPGCodec ? true,
enableOpenGL ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jasper";
version = "4.2.8";
src = fetchFromGitHub {
owner = "jasper-software";
repo = "jasper";
rev = "version-${finalAttrs.version}";
hash = "sha256-p/xqDsYivhG/21808hdMKFMWl4DfQ0huAHiftVjOdJM=";
};
outputs = [
"out"
"dev"
"doc"
"lib"
"man"
];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
]
++ lib.optionals enableHEIFCodec [
libheif
]
++ lib.optionals enableJPGCodec [
libjpeg
]
++ lib.optionals enableOpenGL [
libglut
libGL
];
# Since "build" already exists and is populated, cmake tries to use it,
# throwing uncomprehensible error messages...
cmakeBuildDir = "build-directory";
cmakeFlags = [
(lib.cmakeBool "ALLOW_IN_SOURCE_BUILD" true)
(lib.cmakeBool "JAS_ENABLE_HEIC_CODEC" enableHEIFCodec)
(lib.cmakeBool "JAS_INCLUDE_HEIC_CODEC" enableHEIFCodec)
(lib.cmakeBool "JAS_ENABLE_JPG_CODEC" enableJPGCodec)
(lib.cmakeBool "JAS_INCLUDE_JPG_CODEC" enableJPGCodec)
(lib.cmakeBool "JAS_ENABLE_MIF_CODEC" false) # Dangerous!
(lib.cmakeBool "JAS_ENABLE_OPENGL" enableOpenGL)
];
strictDeps = true;
# The value of __STDC_VERSION__ cannot be automatically determined when cross-compiling
# https://github.com/jasper-software/jasper/blob/87668487/CMakeLists.txt#L415
# workaround taken from
# https://github.com/openembedded/meta-openembedded/blob/907b9c0a/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb#L16
preConfigure = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
cmakeFlagsArray+=(-DJAS_STDC_VERSION="$(echo __STDC_VERSION__ | $CXX -E -P -)")
'';
meta = {
homepage = "https://jasper-software.github.io/jasper/";
description = "Image processing/coding toolkit";
longDescription = ''
JasPer is a software toolkit for the handling of image data. The software
provides a means for representing images, and facilitates the manipulation
of image data, as well as the import/export of such data in numerous
formats (e.g., JPEG-2000 JP2, JPEG, PNM, BMP, Sun Rasterfile, and
PGX). The import functionality supports the auto-detection (i.e.,
automatic determination) of the image format, eliminating the need to
explicitly identify the format of coded input data. A simple color
management engine is also provided in order to allow the accurate
representation of color. Partial support is included for the ICC color
profile file format, an industry standard for specifying color.
The JasPer software consists of a library and several application
programs. The code is written in the C programming language. This language
was chosen primarily due to the availability of C development environments
for most computing platforms when JasPer was first developed, circa 1999.
'';
license = with lib.licenses; [ mit ];
mainProgram = "jasper";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
# TODO: investigate opengl support

249
pkgs/by-name/ja/java-hamcrest/deps.json generated Normal file
View File

@@ -0,0 +1,249 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://plugins.gradle.org/m2": {
"biz/aQute/bnd#biz.aQute.bnd.embedded-repo/6.4.0": {
"jar": "sha256-G9LIOa4YEoDsBrXCBRuE+sf1mZagUZQOGk24RtvG828=",
"pom": "sha256-677wPInYJxwp7I2b7oZWCG+D5M273AKTUtcBWk/mMNk="
},
"biz/aQute/bnd#biz.aQute.bnd.gradle/6.4.0": {
"jar": "sha256-lakUFc2tA0LJJb97sDgwVye9TU1+MSLScClC/zWbCTo=",
"pom": "sha256-IhATjNEm8dfAKe0waawigmXckZfw3XSjyESPKwoXIpQ="
},
"biz/aQute/bnd#biz.aQute.bnd.util/6.4.0": {
"jar": "sha256-ZbW9Sg+rFoEvGADJj/dKA483o4v+iZrzgu/tTv3B4+E=",
"pom": "sha256-o9QfkwNfFvSai1AFrNPQlrfzJoagUVMNmhiuzT25DCE="
},
"biz/aQute/bnd#biz.aQute.bndlib/6.4.0": {
"jar": "sha256-NXFFB0hy+dv2fmKfzSN+YVJwflddc130U1KC+fWI0tg=",
"pom": "sha256-6jk7yLU4PHFhu+XjqqjPvQCzZkR1GiI4VaTJAEumrZw="
},
"biz/aQute/bnd#biz.aQute.repository/6.4.0": {
"jar": "sha256-0k3V0QvZ5gZ2FlJzpq6NWsYS4d/Mm4w0kSCWeciBL/U=",
"pom": "sha256-++slSN+o3ttLLtBwWu6vImqbriDrDwJdxHuKb366iXo="
},
"biz/aQute/bnd#biz.aQute.resolve/6.4.0": {
"jar": "sha256-wxf5KC5I2FlOK5d0mYbS2WX7vaYMO4MModjDcS14p+g=",
"pom": "sha256-290Wg307M+k0i/9KhTgPuiee4UapzAI6Ch9zm2y0FY4="
},
"biz/aQute/bnd/builder#biz.aQute.bnd.builder.gradle.plugin/6.4.0": {
"pom": "sha256-5s2kSy5fsc2iObyI6yjWj9/8QS4ehTsu/gSp2KGf/bc="
},
"org/osgi#org.osgi.dto/1.0.0": {
"jar": "sha256-y3Xzx+SOWjGjHfIuJoczRvW/ZZ4tyrI2ngMeSFDS/0M=",
"pom": "sha256-XDHfk5LAR5tfgS9/hIDPsvcrbUmu8oVLfZFuBrCxDKw="
},
"org/osgi#org.osgi.framework/1.8.0": {
"jar": "sha256-7BlLeHGvJ2gXFv8FJZMZpcPJuXJ+gADp6DJJm5NIS04=",
"pom": "sha256-Z9tZJwa+xs7fS932a6ZJrVEkDN8SnjSQXm78j5AhCTM="
},
"org/osgi#org.osgi.resource/1.0.0": {
"jar": "sha256-gfxQ8fHTikryjhMZB9Sv4hMkmqsFBgSE7coOYMSvm0o=",
"pom": "sha256-g6zfIl/7mkp7xYL1OkFFofLDvbtCjgM8AJZvY8YQ6CA="
},
"org/osgi#org.osgi.service.coordinator/1.0.2": {
"jar": "sha256-sA3LUHuCQ/vlTubn+FNEmoRa+OfYQxPH1JdJSf2qsis=",
"pom": "sha256-DR2KkKB+CBsBIewegopVu51NRK7SK9qUKZEqIQFGi2o="
},
"org/osgi#org.osgi.service.log/1.3.0": {
"jar": "sha256-/2cQxIVtMmhM8+vcRSSPQQNv9zTysDu8CMRgmmH+z6A=",
"pom": "sha256-IcKVDBCS/bOOwIRYa471pU5dHQSV9UqCR+Auuu1EMos="
},
"org/osgi#org.osgi.service.repository/1.1.0": {
"jar": "sha256-xVU+lbRZUpGSQzSG1MTMIv9FourkloSE+fcXMZJkpTI=",
"pom": "sha256-QGb8pxWqwy/jzgvHv4Epe/1xMOu2CQzJZSrfeyqAfxk="
},
"org/osgi#org.osgi.service.resolver/1.1.1": {
"jar": "sha256-0hLyvLRc++yQcxDXj1MNmJjeDM97B5Os8Ys4bwPH3jk=",
"pom": "sha256-uPMUllLomdnRY/zyBKSD1Cq79OoT/+zI2aMyLIF84cI="
},
"org/osgi#org.osgi.util.function/1.2.0": {
"jar": "sha256-IIgZx8cWkMFaa7ixh0dOf50BR5RraAGCpiufIirgFOw=",
"pom": "sha256-9O3YQYEVfUNoGNRlZdSAN5wbBwAdXLEwtAZxlykRXqg="
},
"org/osgi#org.osgi.util.promise/1.2.0": {
"jar": "sha256-/vhuZPWE0BKhagMGFgdk9heWY7kJiKImxGQbkg86SzY=",
"pom": "sha256-m6aVb+n6Frge8Q6O8UED4WwEuKACQVC20DKfkX7y4hY="
},
"org/osgi#org.osgi.util.tracker/1.5.4": {
"jar": "sha256-fXjCzJvLZCHCTxeqCXhmzo2RFcIZpPjWzHU7xN+5fvo=",
"pom": "sha256-L3oSGrysdT5csPguP+4NpHlZV5hp4wTYwvtuh2PkMSk="
},
"org/osgi#osgi.annotation/8.0.1": {
"jar": "sha256-oOikw2K9NgCBLzew6kX7qWbHvASdAf7Vagnsx0CCdZ4=",
"pom": "sha256-iC0Hao4lypIH95ywk4DEcvazxBUIFivSuqBpF74d7XM="
},
"org/slf4j#slf4j-api/1.7.25": {
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
},
"org/slf4j#slf4j-parent/1.7.25": {
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
}
},
"https://repo.maven.apache.org/maven2": {
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/errorprone#error_prone_annotations/2.7.1": {
"jar": "sha256-zVJXwIokbPhiiBeuccuCK+GS75H2iByko/z/Tx3hz/M=",
"pom": "sha256-Mahy4RScXzqLwF+03kVeXqYI7PrRryIst2N8psdi7iU="
},
"com/google/errorprone#error_prone_parent/2.7.1": {
"pom": "sha256-Cm4kLigQToCTQFrjeWlmCkOLccTBtz/E/3FtuJ2ojeY="
},
"com/google/guava#failureaccess/1.0.1": {
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
},
"com/google/guava#guava-parent/26.0-android": {
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
},
"com/google/guava#guava-parent/31.0.1-jre": {
"pom": "sha256-s7a2qnCZwRgXrO6FsyL9kffuMq6mn+CD7jbIc17AZ4g="
},
"com/google/guava#guava/31.0.1-jre": {
"jar": "sha256-1b6U1l6HvSGfsxk60VF7qlWjuI/JHSHPc1gmq1rwh7k=",
"pom": "sha256-K+VmkgwhxgxcyvKCeGfK/3ZmRuIRO3/MPunCSkCy85Y="
},
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
},
"com/google/j2objc#j2objc-annotations/1.3": {
"jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=",
"pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU="
},
"com/puppycrawl/tools#checkstyle/9.3": {
"jar": "sha256-BGPjBJgPVGC5ZPSBzMJaEPslO2AQDBnlD8mSiSiVl38=",
"pom": "sha256-p9y0ZmVtZ/oKUNkE/d8U/GtTmEa4FO3/djXHRdW9MDQ="
},
"commons-beanutils#commons-beanutils/1.9.4": {
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
},
"commons-collections#commons-collections/3.2.2": {
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
},
"info/picocli#picocli/4.6.2": {
"jar": "sha256-R1TZbq9TFPNaKH2lxnhIsoUGeGj8ptH1Ehp09n8GW2E=",
"pom": "sha256-3q4p2lxR4/6dla9ujzkVbCvBt0niQtATbp4jIINIF5k="
},
"jmock#jmock/1.1.0": {
"jar": "sha256-wO8lnaz4XKQskF37VYwTS9w7er/uo0UsFzGW2TP2Aqs=",
"pom": "sha256-DUbJb7KeTXPeexB9MUdQYsEBPdr2wnDXBaFV4AX7wbI="
},
"junit#junit/4.13.2": {
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
},
"net/sf/saxon#Saxon-HE/10.6": {
"jar": "sha256-bQjfguTthrarsaAse3SiaPz8XgBOg7tP8AbsOlCb01Y=",
"pom": "sha256-otbdpDjoZKuTXzG0O1MFLE6HEalQVkJxkZBRPnb0Ekg="
},
"org/antlr#antlr4-master/4.9.3": {
"pom": "sha256-VlzAVNO631DKCgcX2uMRJootZwn93ckKxKQ8YtAZNbk="
},
"org/antlr#antlr4-runtime/4.9.3": {
"jar": "sha256-ExpllJabxPMh1lLqKjO8DjeMoxJoXvh3kbLGCynQHqU=",
"pom": "sha256-T35E5OoGKfo6dZsRFv65+yiBTpX3keHu7dIMEoideqQ="
},
"org/apache#apache/16": {
"pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4="
},
"org/apache#apache/19": {
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
},
"org/apache/commons#commons-parent/39": {
"pom": "sha256-h80n4aAqXD622FBZzphpa7G0TCuLZQ8FZ8ht9g+mHac="
},
"org/apache/commons#commons-parent/47": {
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
},
"org/apiguardian#apiguardian-api/1.1.2": {
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
},
"org/checkerframework#checker-qual/3.12.0": {
"jar": "sha256-/xB4WsKjV+xd6cKTy5gqLLtgXAMJ6kzBy5ubxtvn88s=",
"module": "sha256-0EeUnBuBCRwsORN3H6wvMqL6VJuj1dVIzIwLbfpJN3c=",
"pom": "sha256-d1t6425iggs7htwao5rzfArEuF/0j3/khakionkPRrk="
},
"org/easymock#easymock/2.2": {
"jar": "sha256-yvqbebcUYFzGvnTfnNYTOmwUAVgLxC27XLRMLnAl7r4=",
"pom": "sha256-DCZwrQ0RewVNZrXj9YJ/55MNElUhU6jSk9VIMgGhaqI="
},
"org/hamcrest#hamcrest-core/1.3": {
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
},
"org/hamcrest#hamcrest-library/1.3": {
"jar": "sha256-cR1kUi+exBCYO9MQk0KW2hNL5CVKElCAoEFuwXjfrRw=",
"pom": "sha256-HOtL+w8JiuKbk1BEsjY+ETIzE/4+0gVd+LeXN9UFYnc="
},
"org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
},
"org/hamcrest#hamcrest/2.2": {
"pom": "sha256-s2E3N2xLP8923DN+KhvFtpGirBqpZqtdJiCak4EvpX0="
},
"org/hamcrest/hamcrest/maven-metadata": {
"xml": {
"groupId": "org.hamcrest",
"lastUpdated": "20240801091543",
"release": "3.0"
}
},
"org/javassist#javassist/3.28.0-GA": {
"jar": "sha256-V9Cp6ShvgvTqqFESUYaZf4Eb784OIGD/ChWnf1qd2ac=",
"pom": "sha256-w2p8E9o6SFKqiBvfnbYLnk0a8UbsKvtTmPltWYP21d0="
},
"org/junit#junit-bom/5.10.3": {
"module": "sha256-qnlAydaDEuOdiaZShaqa9F8U2PQ02FDujZPbalbRZ7s=",
"pom": "sha256-EJN9RMQlmEy4c5Il00cS4aMUVkHKk6w/fvGG+iX2urw="
},
"org/junit/jupiter#junit-jupiter-api/5.10.3": {
"jar": "sha256-bv5uAcof95t79Mbx7tCykpLhZsJ+r3sArJgaFNTeYao=",
"module": "sha256-HH5GU3/EOyd29N5BmpCEpkAREQn6QLSHiUCynOI4vh4=",
"pom": "sha256-c0ocaMNMWt870vW8pL9JjLtPScSJ18JNgM8OIQK+bxQ="
},
"org/junit/jupiter#junit-jupiter-engine/5.10.3": {
"jar": "sha256-u9POjcEemSUHHvlpHWivGrbnEvqmhR98UnW8iq/IhnM=",
"module": "sha256-t34vIrhuzSrvh/C3LGoHDwsOdqNKvaqKd1ECweDRYSE=",
"pom": "sha256-g+8P1otgv2vHmnj+sRiCxiXEgu9p1iv+LRFwQKZEgUQ="
},
"org/junit/platform#junit-platform-commons/1.10.3": {
"jar": "sha256-l4fwTUnbWTl83XVV1CGlvS0URWZpl9MnuU+F44vtV/E=",
"module": "sha256-n9gMr9DRm5pTrhnq4Eq94bIwVfQXXXbI52ibzkRImCs=",
"pom": "sha256-dZdXLFnxl1Ji+Nj8+I7GeDN2hUvwjOipPZnb3InuQ/k="
},
"org/junit/platform#junit-platform-engine/1.10.3": {
"jar": "sha256-33wyv3XPR8TI3dGUIJECeUen12XTC3Mf4AgwEV+voTM=",
"module": "sha256-D7CUb/Z+Q9A2K71CwjRNUUc4nkMVKCN3EW/rZOJrgNE=",
"pom": "sha256-b5uZvKDBfdwZ9RvAN+OxfKsPx+bx2nA4ejCrTgUgcig="
},
"org/junit/vintage#junit-vintage-engine/5.10.3": {
"jar": "sha256-1gKI0+hQup8q9HASA6UXHvMGNO/TTaQKtH+s69LGXWw=",
"module": "sha256-nsdj0t+xBgbUdX7Jodku/362xiBt2urEexpZmQCI1Zo=",
"pom": "sha256-T558FJjpb+ai9S++LViw1/FQq+H4SspuPTo12m+go4g="
},
"org/opentest4j#opentest4j/1.3.0": {
"jar": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=",
"module": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=",
"pom": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U="
},
"org/reflections#reflections/0.10.2": {
"jar": "sha256-k4otCP5UBQ12ELlE2N3DoJNVcQ2ea+CqyDjbwE6aKCU=",
"pom": "sha256-tsqj6301vXVu1usKKoGGi408D29CJE/q5BdgrGYwbYc="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
}
}
}

View File

@@ -0,0 +1,42 @@
{
stdenvNoCC,
fetchFromGitHub,
gradle,
jdk,
lib,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "java-hamcrest";
version = "3.0";
nativeBuildInputs = [ gradle ];
src = fetchFromGitHub {
owner = "hamcrest";
repo = "JavaHamcrest";
tag = "v${finalAttrs.version}";
hash = "sha256-ntae6XWpD0wEs36YoPsfTl6cSR6ULl6dAJ5oZsV+ih0=";
};
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
installPhase = ''
runHook preInstall
mkdir -p "$out/share/java"
cp hamcrest/build/libs/*.jar "$out/share/java"
runHook postInstall
'';
meta = {
homepage = "https://hamcrest.org/JavaHamcrest/";
description = "Java library containing matchers that can be combined to create flexible expressions of intent";
platforms = jdk.meta.platforms;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ tomodachi94 ];
};
})

View File

@@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchFromGitHub,
jdk_headless,
maven,
makeWrapper,
}:
let
platform =
if stdenv.hostPlatform.isLinux then
"linux"
else if stdenv.hostPlatform.isDarwin then
"mac"
else if stdenv.hostPlatform.isWindows then
"windows"
else
throw "unsupported platform";
in
maven.buildMavenPackage {
pname = "java-language-server";
version = "0.2.46";
src = fetchFromGitHub {
owner = "georgewfraser";
repo = "java-language-server";
# commit hash is used as owner sometimes forgets to set tags. See https://github.com/georgewfraser/java-language-server/issues/104
rev = "d7f4303cd233cdad84daffbb871dd4512a2c8da2";
sha256 = "sha256-BIcfwz+pLQarnK8XBPwDN2nrdvK8xqUo0XFXk8ZV/h0=";
};
mvnFetchExtraArgs.dontConfigure = true;
mvnJdk = jdk_headless;
mvnHash = "sha256-2uthmSjFQ43N5lgV11DsxuGce+ZptZsmRLTgjDo0M2w=";
nativeBuildInputs = [
jdk_headless
makeWrapper
];
dontConfigure = true;
preBuild = ''
jlink \
${
lib.optionalString (!stdenv.hostPlatform.isDarwin) "--module-path './jdks/${platform}/jdk-13/jmods'"
} \
--add-modules java.base,java.compiler,java.logging,java.sql,java.xml,jdk.compiler,jdk.jdi,jdk.unsupported,jdk.zipfs \
--output dist/${platform} \
--no-header-files \
--no-man-pages \
--compress 2
'';
doCheck = false;
installPhase = ''
runHook preInstall
mkdir -p $out/share/java/java-language-server
cp -r dist/classpath dist/*${platform}* $out/share/java/java-language-server
# a link is not used as lang_server_${platform}.sh makes use of "dirname $0" to access other files
makeWrapper $out/share/java/java-language-server/lang_server_${platform}.sh $out/bin/java-language-server
runHook postInstall
'';
meta = with lib; {
description = "Java language server based on v3.0 of the protocol and implemented using the Java compiler API";
mainProgram = "java-language-server";
homepage = "https://github.com/georgewfraser/java-language-server";
license = licenses.mit;
maintainers = with maintainers; [ hqurve ];
};
}

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchurl,
ant,
jdk,
stripJavaArchivesHook,
cunit,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "java-service-wrapper";
version = "3.6.3";
src = fetchurl {
url = "https://wrapper.tanukisoftware.com/download/${finalAttrs.version}/wrapper_${finalAttrs.version}_src.tar.gz";
hash = "sha256-e8Wtie0ho5tKTtVI3+kvxYeu1A5sdQWacTCfuAQv9YA=";
};
strictDeps = true;
buildInputs = [
cunit
ncurses
];
nativeBuildInputs = [
ant
jdk
stripJavaArchivesHook
];
postConfigure = ''
substituteInPlace default.properties \
--replace-fail "javac.target.version=1.4" "javac.target.version=8"
'';
buildPhase = ''
runHook preBuild
export JAVA_HOME=${jdk}/lib/openjdk/
export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
ant -f build.xml -Dbits=${if stdenv.hostPlatform.isi686 then "32" else "64"}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
cp bin/wrapper $out/bin/wrapper
cp lib/wrapper.jar $out/lib/wrapper.jar
cp lib/libwrapper.so $out/lib/libwrapper.so
runHook postInstall
'';
meta = with lib; {
description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
homepage = "https://wrapper.tanukisoftware.com/";
changelog = "https://wrapper.tanukisoftware.com/doc/english/release-notes.html#${finalAttrs.version}";
license = licenses.gpl2Only;
platforms = [
"x86_64-linux"
"i686-linux"
"aarch64-linux"
];
maintainers = [ maintainers.suhr ];
mainProgram = "wrapper";
# Broken for Musl at 2024-01-17. Errors as:
# logger.c:81:12: fatal error: gnu/libc-version.h: No such file or directory
# Tracking issue: https://github.com/NixOS/nixpkgs/issues/281557
broken = stdenv.hostPlatform.isMusl;
};
})

View File

@@ -0,0 +1,38 @@
--- javacup/build.xml.orig 2016-06-15 07:10:15.000000000 -0300
+++ javacup/build.xml 2016-07-17 08:46:46.632722844 -0300
@@ -21,26 +21,6 @@
<mkdir dir="${dist}" />
<loadfile property="cupversion" srcFile="version.txt" failonerror="false" />
<property name="cupversion" value="custombuild" unless:set="cupversion"/>
- <exec executable="git" outputproperty="gitversion">
- <arg value="log"/>
- <arg value="-1"/>
- <arg value="--format=%h"/>
- </exec>
- <exec executable="git" outputproperty="changed">
- <arg value="status"/>
- <arg value="--porcelain"/>
- <redirector>
- <outputfilterchain>
- <linecontainsregexp>
- <regexp pattern='^M.*'/>
- </linecontainsregexp>
- <tokenfilter>
- <replaceregex pattern=".*" replace="modifications based on "/>
- </tokenfilter>
- </outputfilterchain>
- </redirector>
- </exec>
- <property name="svnversion">${changed}${gitversion}</property>
</target>
<property environment="env" />
@@ -79,7 +59,7 @@
<copy todir="${java}"><fileset dir="${src}"></fileset></copy>
<replace file="${java}/java_cup/version.java"
token="+ version_str"
- value='+ "v0.11b ${cupversion} (GIT ${svnversion})"'>
+ value='+ "v0.11b ${cupversion}"'>
</replace>
<javac srcdir="${java}" destdir="${classes}" verbose="off" listfiles="off" debug="on" source="1.8" target="1.8">
<classpath refid="libraries"/>

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchurl,
ant,
jdk8,
makeWrapper,
stripJavaArchivesHook,
}:
let
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
in
stdenv.mkDerivation (finalAttrs: {
pname = "java-cup";
version = "11b-20160615";
src = fetchurl {
url = "http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${finalAttrs.version}.tar.gz";
hash = "sha256-4OdzYG5FzhqorROD5jk9U+2dzyhh5D76gZT1Z+kdv/o=";
};
sourceRoot = ".";
patches = [ ./javacup-0.11b_beta20160615-build-xml-git.patch ];
nativeBuildInputs = [
ant
jdk
makeWrapper
stripJavaArchivesHook
];
buildPhase = ''
runHook preBuild
ant
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 dist/java-cup-11b.jar -t $out/share/java-cup
install -Dm644 dist/java-cup-11b-runtime.jar -t $out/share/java
makeWrapper ${jdk.jre}/bin/java $out/bin/javacup \
--add-flags "-jar $out/share/java-cup/java-cup-11b.jar"
runHook postInstall
'';
meta = {
description = "LALR parser generator for Java";
homepage = "http://www2.cs.tum.edu/projects/cup/";
license = lib.licenses.mit;
mainProgram = "javacup";
maintainers = [ lib.maintainers.romildo ];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
ant,
jdk8,
jre8,
makeWrapper,
stripJavaArchivesHook,
}:
let
# Upstream doesn't support anything newer than Java 8.
# https://github.com/javacc/javacc/blob/c708628423b71ce8bc3b70143fa5b6a2b7362b3a/README.md#building-javacc-from-source
jdk = jdk8;
jre = jre8;
in
stdenv.mkDerivation (finalAttrs: {
pname = "javacc";
version = "7.0.13";
src = fetchFromGitHub {
owner = "javacc";
repo = "javacc";
rev = "javacc-${finalAttrs.version}";
hash = "sha256-nDJvKIbJc23Tvfn7Zqvt5tDDffNf4KQ0juGQQCZ+i1c=";
};
nativeBuildInputs = [
ant
jdk
makeWrapper
stripJavaArchivesHook
];
buildPhase = ''
runHook preBuild
ant jar
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm644 target/javacc.jar -t $out/target
install -Dm755 scripts/{javacc,jjdoc,jjtree,jjrun} -t $out/bin
for file in $out/bin/*; do
wrapProgram "$file" --suffix PATH : ${jre}/bin
done
runHook postInstall
'';
doCheck = true;
checkPhase = ''
runHook preCheck
ant test
runHook postCheck
'';
meta = with lib; {
changelog = "https://github.com/javacc/javacc/blob/${finalAttrs.src.rev}/docs/release-notes.md";
description = "Parser generator for building parsers from grammars";
homepage = "https://javacc.github.io/javacc";
license = licenses.bsd2;
mainProgram = "javacc";
teams = [ teams.deshaw ];
};
})

View File

@@ -0,0 +1,30 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "javascript-typescript-langserver";
version = "2.11.3";
src = fetchFromGitHub {
owner = "sourcegraph";
repo = "javascript-typescript-langserver";
rev = "v${version}";
hash = "sha256-vd7Hj0jPFgK0u3CBlMfOFERmW+w9CnKIY9nvs48KqsI=";
};
npmDepsHash = "sha256-nHGTi1aH9YY01dzBeNyUEUEswrdjZPWaoycDVZZmIAA=";
postInstall = ''
find $out/lib/node_modules -xtype l -delete
'';
meta = {
description = "JavaScript and TypeScript code intelligence through the Language Server Protocol";
homepage = "https://github.com/sourcegraph/javascript-typescript-langserver";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dywedir ];
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
nix-update-script,
}:
stdenvNoCC.mkDerivation {
pname = "jawiki-all-titles-in-ns0";
version = "0-unstable-2025-10-01";
src = fetchFromGitHub {
owner = "musjj";
repo = "jawiki-archive";
rev = "81e6379ffeb292a5ff6db4302347d80ba053fb1e";
hash = "sha256-jbfJ+Vf7jkCjjePbwHP0BTFA/J1NcIQkhFK1jqD4bPE=";
};
installPhase = ''
runHook preInstall
mkdir $out
cp jawiki-latest-all-titles-in-ns0.gz $out/jawiki-all-titles-in-ns0.gz
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version"
"branch"
];
};
meta = {
description = "Jawiki dump list of page titles in main namespace";
homepage = "https://dumps.wikimedia.org/backup-index.html";
license = with lib.licenses; [
fdl13Only
cc-by-sa-30
];
maintainers = with lib.maintainers; [ pineapplehunter ];
platforms = lib.platforms.all;
# this does not need to be separately built
# it only provides a dump gz file
hydraPlatforms = [ ];
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
rustPlatform,
fetchFromGitHub,
libGL,
libinput,
pkgconf,
xkeyboard_config,
libgbm,
pango,
udev,
shaderc,
libglvnd,
vulkan-loader,
autoPatchelfHook,
}:
rustPlatform.buildRustPackage rec {
pname = "jay";
version = "1.11.1";
src = fetchFromGitHub {
owner = "mahkoh";
repo = "jay";
rev = "v${version}";
sha256 = "sha256-mm2bXxl9TaKwmeCwFz3IKznqjsfY8RKEVU/RK4zd63U=";
};
cargoHash = "sha256-T7053eAH3IqkAxNZpYHdC6Z7JZtArrOqGMjoIccjemI=";
SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib";
nativeBuildInputs = [
autoPatchelfHook
pkgconf
];
buildInputs = [
libGL
xkeyboard_config
libgbm
pango
udev
libinput
shaderc
];
runtimeDependencies = [
libglvnd
vulkan-loader
];
postInstall = ''
install -D etc/jay.portal $out/share/xdg-desktop-portal/portals/jay.portal
install -D etc/jay-portals.conf $out/share/xdg-desktop-portal/jay-portals.conf
'';
meta = with lib; {
description = "Wayland compositor written in Rust";
homepage = "https://github.com/mahkoh/jay";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ dit7ya ];
mainProgram = "jay";
};
}

View File

@@ -0,0 +1,18 @@
{
jazz2,
lib,
runCommandLocal,
}:
runCommandLocal "jazz2-content"
{
inherit (jazz2) version src;
meta = (removeAttrs jazz2.meta [ "mainProgram" ]) // {
description = "Assets needed for jazz2";
platforms = lib.platforms.all;
};
}
''
cp -r $src/Content $out
''

View File

@@ -0,0 +1,12 @@
diff --git a/cmake/ncine_installation.cmake b/cmake/ncine_installation.cmake
index 9ccb707..89c350f 100644
--- a/cmake/ncine_installation.cmake
+++ b/cmake/ncine_installation.cmake
@@ -195,7 +195,6 @@ endif()
#endif()
if(NOT EMSCRIPTEN)
- install(DIRECTORY "${NCINE_ROOT}/Content/" DESTINATION ${DATA_INSTALL_DESTINATION})
else()
install(FILES "${CMAKE_BINARY_DIR}/${CPACK_EXECUTABLE_NAME}.html" DESTINATION ".")
install(FILES "${CMAKE_BINARY_DIR}/${CPACK_EXECUTABLE_NAME}.data" DESTINATION ".")

View File

@@ -0,0 +1,67 @@
{
cmake,
curl,
fetchFromGitHub,
gitUpdater,
jazz2-content,
lib,
libGL,
libopenmpt,
libvorbis,
openal,
SDL2,
stdenv,
versionCheckHook,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jazz2";
version = "3.4.0";
src = fetchFromGitHub {
owner = "deathkiller";
repo = "jazz2-native";
tag = finalAttrs.version;
hash = "sha256-96NiBE0/sBnIdajKui3pZmR8IGlElbeoyqYEYFWtOuM=";
};
patches = [ ./nocontent.patch ];
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [
curl
libGL
libopenmpt
libvorbis
openal
SDL2
zlib
];
cmakeFlags = [
(lib.cmakeBool "NCINE_DOWNLOAD_DEPENDENCIES" false)
(lib.cmakeFeature "LIBOPENMPT_INCLUDE_DIR" "${lib.getDev libopenmpt}/include/libopenmpt")
(lib.cmakeFeature "NCINE_OVERRIDE_CONTENT_PATH" "${jazz2-content}")
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = gitUpdater { };
};
meta = {
description = "Open-source Jazz Jackrabbit 2 reimplementation";
homepage = "https://github.com/deathkiller/jazz2-native";
license = lib.licenses.gpl3Only;
mainProgram = "jazz2";
maintainers = with lib.maintainers; [ surfaceflinger ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'jazzy'

View File

@@ -0,0 +1,136 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.7)
base64
nkf
rexml
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
claide (1.1.0)
cocoapods (1.16.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.16.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.27.0, < 2.0)
cocoapods-core (1.16.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
cocoapods-trunk (1.6.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
drb (2.2.1)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.17.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jazzy (0.15.3)
cocoapods (~> 1.5)
mustache (~> 1.1)
open4 (~> 1.3)
redcarpet (~> 3.4)
rexml (>= 3.2.7, < 4.0)
rouge (>= 2.0.6, < 5.0)
sassc (~> 2.1)
sqlite3 (~> 1.3)
xcinvoke (~> 0.3.0)
json (2.10.2)
liferaft (0.0.6)
logger (1.6.6)
mini_portile2 (2.8.8)
minitest (5.25.5)
molinillo (0.8.0)
mustache (1.1.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
netrc (0.11.0)
nkf (0.2.0)
open4 (1.3.4)
public_suffix (4.0.7)
redcarpet (3.6.1)
rexml (3.4.1)
rouge (4.5.1)
ruby-macho (2.5.1)
sassc (2.4.0)
ffi (~> 1.9)
securerandom (0.4.1)
sqlite3 (1.7.3)
mini_portile2 (~> 2.8.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcinvoke (0.3.0)
liferaft (~> 0.0.6)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
PLATFORMS
ruby
DEPENDENCIES
jazzy
BUNDLED WITH
2.6.2

View File

@@ -0,0 +1,637 @@
{
activesupport = {
dependencies = [
"base64"
"benchmark"
"bigdecimal"
"concurrent-ruby"
"connection_pool"
"drb"
"i18n"
"logger"
"minitest"
"securerandom"
"tzinfo"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1xa7hr4gp2p86ly6n1j2skyx8pfg6yi621kmnh7zhxr9m7wcnaw4";
type = "gem";
};
version = "7.2.2.1";
};
addressable = {
dependencies = [ "public_suffix" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.7";
};
algoliasearch = {
dependencies = [
"httpclient"
"json"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ly8zsgvih540xmxr098hsngv61cf119wf28q5hbvi1f7kgwvh96";
type = "gem";
};
version = "1.27.5";
};
atomos = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx";
type = "gem";
};
version = "0.1.3";
};
base64 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
type = "gem";
};
version = "0.2.0";
};
benchmark = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg";
type = "gem";
};
version = "0.4.0";
};
bigdecimal = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
type = "gem";
};
version = "3.1.9";
};
CFPropertyList = {
dependencies = [
"base64"
"nkf"
"rexml"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0k1w5i4lb1z941m7ds858nly33f3iv12wvr1zav5x3fa99hj2my4";
type = "gem";
};
version = "3.0.7";
};
claide = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
type = "gem";
};
version = "1.1.0";
};
cocoapods = {
dependencies = [
"addressable"
"claide"
"cocoapods-core"
"cocoapods-deintegrate"
"cocoapods-downloader"
"cocoapods-plugins"
"cocoapods-search"
"cocoapods-trunk"
"cocoapods-try"
"colored2"
"escape"
"fourflusher"
"gh_inspector"
"molinillo"
"nap"
"ruby-macho"
"xcodeproj"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0phyvpx78jlrpvldbxjmzq92mfx6l66va2fz2s5xpwrdydhciw8g";
type = "gem";
};
version = "1.16.2";
};
cocoapods-core = {
dependencies = [
"activesupport"
"addressable"
"algoliasearch"
"concurrent-ruby"
"fuzzy_match"
"nap"
"netrc"
"public_suffix"
"typhoeus"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ay1dwjg79rfa6mbfyy96in0k364dgn7s8ps6v7n07k9432bbcab";
type = "gem";
};
version = "1.16.2";
};
cocoapods-deintegrate = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "18pnng0lv5z6kpp8hnki0agdxx979iq6hxkfkglsyqzmir22lz2i";
type = "gem";
};
version = "1.0.5";
};
cocoapods-downloader = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ldnwwsx44i2xsdmsmyz9xrar19lfy5s5xslvral1p3674dvwvmv";
type = "gem";
};
version = "2.1";
};
cocoapods-plugins = {
dependencies = [ "nap" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16na82sfyc8801qs1n22nwq486s4j7yj6rj7fcp8cbxmj371fpbj";
type = "gem";
};
version = "1.0.0";
};
cocoapods-search = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "12amy0nknv09bvzix8bkmcjn996c50c4ms20v2dl7v8rcw73n4qv";
type = "gem";
};
version = "1.0.1";
};
cocoapods-trunk = {
dependencies = [
"nap"
"netrc"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cgdx7z9psxxrsa13fk7qc9i6jskrwcafhrdz94avzia2y6dlnsz";
type = "gem";
};
version = "1.6.0";
};
cocoapods-try = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1znyp625rql37ivb5rk9fk9564cmax8icxfr041ysivpdrn98nql";
type = "gem";
};
version = "1.2.0";
};
colored2 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
type = "gem";
};
version = "3.1.2";
};
concurrent-ruby = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
type = "gem";
};
version = "1.3.5";
};
connection_pool = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
type = "gem";
};
version = "2.5.0";
};
drb = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
type = "gem";
};
version = "2.2.1";
};
escape = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
type = "gem";
};
version = "0.0.4";
};
ethon = {
dependencies = [ "ffi" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v";
type = "gem";
};
version = "0.16.0";
};
ffi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6";
type = "gem";
};
version = "1.17.1";
};
fourflusher = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v";
type = "gem";
};
version = "2.3.1";
};
fuzzy_match = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm";
type = "gem";
};
version = "2.0.4";
};
gh_inspector = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04";
type = "gem";
};
version = "1.1.3";
};
httpclient = {
dependencies = [ "mutex_m" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1j4qwj1nv66v3n9s4xqf64x2galvjm630bwa5xngicllwic5jr2b";
type = "gem";
};
version = "2.9.0";
};
i18n = {
dependencies = [ "concurrent-ruby" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
type = "gem";
};
version = "1.14.7";
};
jazzy = {
dependencies = [
"cocoapods"
"mustache"
"open4"
"redcarpet"
"rexml"
"rouge"
"sassc"
"sqlite3"
"xcinvoke"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rv6fy1g1iy4aaq421mxcfqwsry0ca5z3cs0ds8aklfrbw008mpm";
type = "gem";
};
version = "0.15.3";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l";
type = "gem";
};
version = "2.10.2";
};
liferaft = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1kasbbx84gzsxx8w8bgr6xjg43h9bvzzaqg7si8jirnja8yc27k3";
type = "gem";
};
version = "0.0.6";
};
logger = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
type = "gem";
};
version = "1.6.6";
};
mini_portile2 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
type = "gem";
};
version = "2.8.8";
};
minitest = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
type = "gem";
};
version = "5.25.5";
};
molinillo = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg";
type = "gem";
};
version = "0.8.0";
};
mustache = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
type = "gem";
};
version = "1.1.1";
};
mutex_m = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0l875dw0lk7b2ywa54l0wjcggs94vb7gs8khfw9li75n2sn09jyg";
type = "gem";
};
version = "0.3.0";
};
nanaimo = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "08q73nchv8cpk28h1sdnf5z6a862fcf4mxy1d58z25xb3dankw7s";
type = "gem";
};
version = "0.4.0";
};
nap = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0xm5xssxk5s03wjarpipfm39qmgxsalb46v1prsis14x1xk935ll";
type = "gem";
};
version = "1.1.0";
};
netrc = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
type = "gem";
};
version = "0.11.0";
};
nkf = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "09piyp2pd74klb9wcn0zw4mb5l0k9wzwppxggxi1yi95l2ym3hgv";
type = "gem";
};
version = "0.2.0";
};
open4 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
type = "gem";
};
version = "1.3.4";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
type = "gem";
};
version = "4.0.7";
};
redcarpet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0iglapqs4av4za9yfaac0lna7s16fq2xn36wpk380m55d8792i6l";
type = "gem";
};
version = "3.6.1";
};
rexml = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7";
type = "gem";
};
version = "3.4.1";
};
rouge = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
type = "gem";
};
version = "4.5.1";
};
ruby-macho = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch";
type = "gem";
};
version = "2.5.1";
};
sassc = {
dependencies = [ "ffi" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c";
type = "gem";
};
version = "2.4.0";
};
securerandom = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
type = "gem";
};
version = "0.4.1";
};
sqlite3 = {
dependencies = [ "mini_portile2" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "073hd24qwx9j26cqbk0jma0kiajjv9fb8swv9rnz8j4mf0ygcxzs";
type = "gem";
};
version = "1.7.3";
};
typhoeus = {
dependencies = [ "ethon" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw";
type = "gem";
};
version = "1.4.1";
};
tzinfo = {
dependencies = [ "concurrent-ruby" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
type = "gem";
};
version = "2.0.6";
};
xcinvoke = {
dependencies = [ "liferaft" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16pyq7wvx2c0fywrqxk3vg6psa3yjhbd7hw7hv2mjim6myjkdsb7";
type = "gem";
};
version = "0.3.0";
};
xcodeproj = {
dependencies = [
"CFPropertyList"
"atomos"
"claide"
"colored2"
"nanaimo"
"rexml"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1lslz1kfb8jnd1ilgg02qx0p0y6yiq8wwk84mgg2ghh58lxsgiwc";
type = "gem";
};
version = "1.27.0";
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
}:
bundlerApp {
pname = "jazzy";
gemdir = ./.;
exes = [ "jazzy" ];
passthru.updateScript = bundlerUpdateScript "jazzy";
meta = with lib; {
description = "Command-line utility that generates documentation for Swift or Objective-C";
homepage = "https://github.com/realm/jazzy";
license = licenses.mit;
platforms = platforms.darwin;
maintainers = with maintainers; [
peterromfeldhk
nicknovitski
];
};
}