Compare commits

...

1 Commits

Author SHA1 Message Date
colin 5152159691 try to add Kaiteki as a package
requires updating dart (flutter), which is causing problems...
2022-06-05 02:28:23 -07:00
4 changed files with 150 additions and 1 deletions

View File

@ -50,6 +50,7 @@
# for raspberry pi: allow building u-boot for rpi 4{,00}
./nixpatches/02-rpi4-uboot.patch
./nixpatches/03-whalebird-4.6.0.patch
./nixpatches/04-dart-2.7.0.patch
];
};
nixosSystem = import (patchedPkgs + "/nixos/lib/eval-config.nix");
@ -106,6 +107,7 @@
#### TEMPORARY: PACKAGES WAITING TO BE UPSTREAMED
whalebird = prev.callPackage ./pkgs/whalebird { };
kaiteki = prev.callPackage ./pkgs/kaiteki { };
})
];
};

View File

@ -501,12 +501,13 @@
pkgs.gnome-podcasts
pkgs.gnome.gnome-terminal # works on phosh
pkgs.inkscape
pkgs.kaiteki # Pleroma client
pkgs.libreoffice-fresh # XXX colin: maybe don't want this on mobile
pkgs.mesa-demos
pkgs.playerctl
pkgs.tdesktop # broken on phosh
pkgs.vlc # works on phosh
pkgs.whalebird # pleroma client. TODO: port kaiteki to nix: https://craftplacer.moe/projects/kaiteki/
pkgs.whalebird # pleroma client. input is broken on phosh
pkgs.xterm # broken on phosh
] else [])
++ (if gui == "sway" then

View File

@ -0,0 +1,58 @@
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 9eba6773448..f51aeb8b624 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -4,20 +4,20 @@ let
getPatches = dir:
let files = builtins.attrNames (builtins.readDir dir);
in map (f: dir + ("/" + f)) files;
- version = "2.10.1";
+ version = "3.0.0";
channel = "stable";
filename = "flutter_linux_${version}-${channel}.tar.xz";
# Decouples flutter derivation from dart derivation,
# use specific dart version to not need to bump dart derivation when bumping flutter.
- dartVersion = "2.16.1";
+ dartVersion = "2.17.0";
dartSourceBase = "https://storage.googleapis.com/dart-archive/channels";
dartForFlutter = dart.override {
version = dartVersion;
sources = {
"${dartVersion}-x86_64-linux" = fetchurl {
url = "${dartSourceBase}/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
- sha256 = "sha256-PMY6DCFQC8XrlnFzOEPcwgBAs5/cAvNd78969Z+I1Fk=";
+ sha256 = "57b8fd964e47c81d467aeb95b099a670ab7e8f54a1cd74d45bcd1fdc77913d86";
};
};
};
@@ -29,7 +29,7 @@ in {
pname = "flutter";
src = fetchurl {
url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}";
- sha256 = "sha256-rSfwcglDV2rvJl10j7FByAWmghd2FYxrlkgYnvRO54Y=";
+ sha256 = "e96d75ec8e7dc2a46bc8dad5a9e01c391ab9310ad01c4e3940c963dd263788a0";
};
patches = getPatches ./patches;
};
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 43538ede339..26f50f731c2 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -48,6 +48,7 @@ let
'';
buildPhase = ''
+ set -ex
export FLUTTER_ROOT="$(pwd)"
export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart"
@@ -61,7 +62,7 @@ let
# path is relative otherwise it's replaced by /build/flutter
pushd "$FLUTTER_TOOLS_DIR"
- ${dart}/bin/pub get --offline
+ ${dart}/bin/dart pub get --offline
popd
local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"

88
pkgs/kaiteki/default.nix Normal file
View File

@ -0,0 +1,88 @@
{ lib
, fetchFromGitHub
, flutter
, olm
, imagemagick
, makeDesktopItem
}:
flutter.mkFlutterApp rec {
pname = "kaiteki";
version = "1.1";
vendorHash = "sha256-N7s63e8z4pAFtFV9cFN+CIIg+A/s8lYfiJWrBkMkkd0=";
src = fetchFromGitHub {
owner = "Kaiteki-Fedi";
repo = "Kaiteki";
rev = "0a322313071e4391949d23d9b006d74de65f58d9";
hash = "sha256-ggDIbVwueS162m15TFaC6Tcg+0lpcVGi4x/O691sxR8";
};
desktopItem = makeDesktopItem {
name = "Kaiteki";
exec = "@out@/bin/kaiteki";
icon = "kaiteki";
desktopName = "Kaiteki";
genericName = "Micro-blogging client";
categories = [ "Network" "InstantMessaging" "GTK" ];
};
sourceRoot = "source/src/kaiteki";
# postUnpack = ''
# mv assets assets-toplevel
# mv src/kaiteki/* .
# '';
buildInputs = [
olm
];
nativeBuildInputs = [
imagemagick
];
# flutterExtraFetchCommands = ''
# M=$(echo $TMP/.pub-cache/hosted/pub.dartlang.org/matrix-*)
# sed -i $M/scripts/prepare.sh \
# -e "s|/usr/lib/x86_64-linux-gnu/libolm.so.3|/bin/sh|g" \
# -e "s|if which flutter >/dev/null; then|exit; if which flutter >/dev/null; then|g"
# pushd $M
# bash scripts/prepare.sh
# popd
# '';
# replace olm dummy path
# postConfigure = ''
# M=$(echo $depsFolder/.pub-cache/hosted/pub.dartlang.org/matrix-*)
# ln -sf ${olm}/lib/libolm.so.3 $M/ffi/olm/libolm.so
# '';
# postInstall = ''
# FAV=$out/app/data/flutter_assets/assets/favicon.png
# ICO=$out/share/icons
# install -D $FAV $ICO/fluffychat.png
# mkdir $out/share/applications
# cp $desktopItem/share/applications/*.desktop $out/share/applications
# for s in 24 32 42 64 128 256 512; do
# D=$ICO/hicolor/''${s}x''${s}/apps
# mkdir -p $D
# convert $FAV -resize ''${s}x''${s} $D/fluffychat.png
# done
# substituteInPlace $out/share/applications/*.desktop \
# --subst-var out
# '';
meta = with lib; {
description = "The comfy Fediverse client";
homepage = "https://craftplacer.moe/projects/kaiteki/";
license = licenses.agpl3Plus;
# maintainers = with maintainers; [ uninsane ];
platforms = platforms.linux;
};
}