jan: 0.6.10 -> 0.7.5 (#472180)

This commit is contained in:
isabel
2025-12-19 12:26:24 +00:00
committed by GitHub
+75 -17
View File
@@ -2,33 +2,91 @@
lib,
appimageTools,
fetchurl,
config,
cudaPackages,
cudaSupport ? config.cudaSupport,
stdenv,
fetchzip,
makeWrapper,
}:
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=";
version = "0.7.5";
darwin-src = fetchzip {
url = "https://github.com/janhq/jan/releases/download/v${version}/jan-mac-universal-${version}.zip";
hash = "sha256-stTsLKE+2gUKAVwJ2/gOckoL6Nygwr0rkugD1jGj1w4=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
linux-src = fetchurl {
url = "https://github.com/janhq/jan/releases/download/v${version}/jan_${version}_amd64.AppImage";
hash = "sha256-RIEBpeogNIDPMpoY5Gk8q4+t7jxcWJEZLPqJHWyaVk4=";
};
extraInstallCommands = ''
install -Dm444 ${appimageContents}/Jan.desktop -t $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
'';
appimageContents = appimageTools.extractType2 {
inherit pname version;
src = linux-src;
};
meta = {
changelog = "https://github.com/menloresearch/jan/releases/tag/v${version}";
changelog = "https://github.com/janhq/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;
homepage = "https://github.com/janhq/jan";
license = lib.licenses.asl20;
mainProgram = "Jan";
maintainers = [ ];
platforms = with lib.systems.inspect; patternLogicalAnd patterns.isLinux patterns.isx86_64;
platforms =
lib.platforms.darwin
++ (with lib.systems.inspect; patternLogicalAnd patterns.isLinux patterns.isx86_64);
};
}
linux = appimageTools.wrapType2 {
inherit pname version;
src = linux-src;
extraInstallCommands = ''
install -Dm444 ${appimageContents}/Jan.desktop -t $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
'';
extraPkgs =
pkgs:
lib.optionals cudaSupport [
cudaPackages.cudatoolkit
];
inherit meta;
};
darwin = stdenv.mkDerivation {
inherit
pname
version
meta
;
src = darwin-src;
dontUnpack = true;
sourceRoot = "${pname}.app";
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
mkdir -p $out/Applications/${pname}.app
mkdir -p $out/bin
cp -R $src/. $out/Applications/${pname}.app/
if [ -x "$out/Applications/${pname}.app/Contents/MacOS/${pname}" ]; then
makeWrapper "$out/Applications/${pname}.app/Contents/MacOS/${pname}" $out/bin/${pname}
fi
runHook postInstall
'';
};
in
if stdenv.hostPlatform.isDarwin then darwin else linux