Skip to content
Snippets Groups Projects
Commit 6a3697e8 authored by Jean-Paul Calderone's avatar Jean-Paul Calderone
Browse files

update notes

parent c2b4f229
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,29 @@
* Build an app that can read magic-folders and download linked files
* Build libchallenge_bypass_ristretto for armv7a and aarch64 Android
* nixpkgs *used to* use "crates-io.nix" which was quite friendly to cross-compilation!
But it got thrown in the trash and now you are directed to naersk or crate2nix.
* cross-compilation with crate2nix expressions is not straightforward
Does it work at all, for anything?
Who knows.
There's a ticket open.
I haven't yet figured out how to make it go.
* naersk looks super easy to use!
But does it support cross-compilation?
It is not clear.
(Naive?) Attempts to do so on nixpkgs master@HEAD fail with infinite recursion errors.
On nixos-22.05 with some patches applied ... maybe it will work?
(As of 2022-12-05 16:04, build is still running)
* Either way we need to preserve our postInstall step to get the .h and .pc files
* Build an app that runs a Haskell Tahoe-LAFS implementation on Android
* Reflex-FRP / Obsidian Systems Obelisk?
......@@ -180,8 +203,21 @@
(by inspection with builtins.trace)
* python-cryptography
* cffi-based projects seem to be tricky!
* python-challenge-bypass-ristretto
* crossenv can do it!
See crossenv subdirectory.
* However, crossenv can't do python-challenge-bypass-ristretto
or python-cryptography.
These seem to have cffi as a build-time dependency.
Cross-env gives the build pip env the host cffi .so so it fails.
* Integrate a Python Tahoe-LAFS runtime with a GUI
* Build a GUI
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs?rev=3d58e3a31ee55554fe26650bb59db7d6d0e97625";
outputs = { self, nixpkgs }:
let
native-pkgs = import nixpkgs {
system = "x86_64-linux";
allowUnfree = true;
android_sdk.accept_license = true;
};
cross-pkgs = native-pkgs.pkgsCross.aarch64-android;
platformVersion = "31";
cmakeVersion = "3.10.2";
buildToolsVersion = "31.0.0";
# Check out pkgs/development/mobile/androidenv/repo.json for
# nixpkgs-supported versions.
ndkVersion = "23.0.7123448-rc1";
androidComposition = native-pkgs.callPackage ../android.nix {
inherit cmakeVersion buildToolsVersion platformVersion ndkVersion;
};
in {
devShells.x86_64-linux.default = native-pkgs.mkShell rec {
BUILD_PYTHON = "${native-pkgs.python3Minimal}/bin/python";
HOST_PYTHON = "${cross-pkgs.python3Minimal}/bin/python";
ANDROIDSDK = "${androidComposition.androidsdk}/libexec/android-sdk";
ANDROIDNDK = "${ANDROIDSDK}/ndk-bundle";
shellHook = ''
export PATH="$(echo "$ANDROIDSDK/cmake/${cmakeVersion}".*/bin):$PATH"
'';
};
};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment