4 Commits

Author SHA1 Message Date
42c268bf26 Use cargoHash directy 2025-11-04 17:30:35 +01:00
aae0bc1bb0 Fix Cargo lock problem 2025-11-01 12:29:03 +01:00
3df6d08b36 Update cosmic-web-apps 2025-11-01 11:57:18 +01:00
1451494f95 Init cosmic-web-apps 2025-10-31 19:52:30 +01:00
6 changed files with 107 additions and 106 deletions

62
cosmic-web-apps.nix Normal file
View File

@@ -0,0 +1,62 @@
{
lib,
fetchFromGitHub,
openssl,
git,
cmake,
rustPlatform,
libxkbcommon,
pkg-config,
glib,
gtk3,
webkitgtk_4_1,
wayland,
makeBinaryWrapper,
}:
rustPlatform.buildRustPackage rec {
pname = "web-apps";
version = "2.0.1";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "web-apps";
rev = "2.0.1";
hash = "sha256-vWEa6mSK8lhqHRU/Zgi2HUGIs37G7E28AEEWj7TSaPc=";
};
cargoHash = "sha256-bwoG4KMB8JQHE+dc3X2OHDDmg1jWBfXMcR68bbCq/Ag=";
buildInputs = [
wayland
glib
libxkbcommon
pkg-config
openssl
git
gtk3
webkitgtk_4_1
];
nativeBuildInputs = [
cmake
pkg-config
makeBinaryWrapper
];
postInstall = ''
wrapProgram $out/bin/dev-heppen-webapps \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
wayland
libxkbcommon
]
}
'';
meta = {
description = " Web applications at your fingertips.";
homepage = "https://github.com/cosmic-utils/web-apps";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ berrij ];
};
}

6
flake.lock generated
View File

@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1761594641,
"narHash": "sha256-sImk6SJQASDLQo8l+0zWWaBgg7TueLS6lTvdH5pBZpo=",
"lastModified": 1759632233,
"narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1666250dbe4141e4ca8aaf89b40a3a51c2e36144",
"rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10",
"type": "github"
},
"original": {

View File

@@ -4,10 +4,7 @@
};
outputs =
{
self,
nixpkgs,
}:
{ self, nixpkgs }:
let
system = "x86_64-linux"; # Adjust if necessary
pkgs = import nixpkgs {
@@ -17,10 +14,7 @@
in
{
packages.${system} = {
wasm-bindgen-cli_0_2_101 = pkgs.callPackage ./wasm-bindgen-cli.nix { };
threema-desktop = pkgs.callPackage ./threema-desktop.nix {
wasm-bindgen-cli = self.packages.${system}.wasm-bindgen-cli_0_2_101;
};
cosmic-web-apps = pkgs.python313Packages.callPackage ./cosmic-web-apps.nix { };
};
devShells.${system} = {

View File

@@ -1,76 +0,0 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
rustPlatform,
binaryen,
pkg-config,
openssl,
wasm-bindgen-cli,
protobuf,
lld,
}:
buildNpmPackage rec {
pname = "threema-desktop";
version = "2.0-beta56";
src = fetchFromGitHub {
owner = "threema-ch";
repo = "threema-desktop";
rev = "v${version}";
hash = "sha256-wMIQ7piFPOBp0IleSnDSrZjaqXNBDyeELjx+938pmVk=";
};
forceGitDeps = true;
npmDepsHash = "sha256-9pyBbA+MARxWPZzyvjyKCuofgt+X3DrDCa81S6/S5qg="; # replace after first build
npmFlags = [ "--legacy-peer-deps" ];
makeCacheWritable = true;
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
sourceRoot = "${src.name}/libs/libthreema";
hash = "sha256-SQ33LcCYlJ3W69TmpH1AkOKaREZ0p3KotJPuKZtc6yI=";
};
nativeBuildInputs = [
rustPlatform.bindgenHook
wasm-bindgen-cli
binaryen
pkg-config
protobuf
lld
];
buildInputs = [
openssl
];
postPatch = ''
patchShebangs --build ./tools
patchShebangs --build ./libs/libthreema/tools
sed -i '/"engines":/,/},/d' package.json
'';
buildPhase = ''
runHook preBuild
npm run libthreema:build
npm run package binary consumer-live
runHook postBuild
'';
installPhase = ''
mkdir -p $out/opt/threema-desktop
cp -r build/out/* $out/opt/threema-desktop
'';
meta = with lib; {
description = "Threema App for Desktop (Windows/macOS/Linux)";
longDescription = "A standalone Threema client for the desktop with end-to-end encryption";
homepage = "https://threema.ch/";
license = licenses.agpl3Plus;
maintainers = [ ];
platforms = platforms.linux;
};
}

View File

@@ -1,19 +0,0 @@
{
buildWasmBindgenCli,
fetchCrate,
rustPlatform,
}:
buildWasmBindgenCli rec {
src = fetchCrate {
pname = "wasm-bindgen-cli";
version = "0.2.101";
hash = "sha256-txpbTzlrPSEktyT9kSpw4RXQoiSZHm9t3VxeRn//9JI=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
inherit (src) pname version;
hash = "sha256-J+F9SqTpH3T0MbvlNKVyKnMachgn8UXeoTF0Pk3Xtnc=";
};
}

40
xsdata-pydantic.nix Normal file
View File

@@ -0,0 +1,40 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
xsdata,
pydantic,
}:
buildPythonPackage rec {
pname = "xsdata-pydantic";
version = "24.5";
pyproject = true;
src = fetchFromGitHub {
owner = "tefra";
repo = "xsdata-pydantic";
tag = "v${version}";
hash = "sha256-ExgAXQRNfGQRSZdMuWc8ldJPqz+3c4Imgu75KXLXHNk=";
};
build-system = [ setuptools ];
dependencies = [
xsdata
pydantic
];
pythonImportsCheck = [
"xsdata_pydantic"
];
meta = {
description = "Naive XML & JSON Bindings for python pydantic classes!";
homepage = "https://github.com/tefra/xsdata-pydantic";
maintainers = with lib.maintainers; [ berrij ];
license = lib.licenses.mit;
platforms = lib.platforms.all;
};
}