Skip to content

android + ios: missing patches #1884

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 18, 2023
Merged

android + ios: missing patches #1884

merged 2 commits into from
Mar 18, 2023

Conversation

shumvgolove
Copy link
Contributor

@shumvgolove shumvgolove commented Mar 16, 2023

Not sure if android patches are still needed, but I can't find those iOS patches in any angerman/* branch 🤔

@angerman
Copy link
Collaborator

@shumvgolove thanks! I think we might want the libcharset to be behind its own flag, otherwise it will be disable for all smallAddressSpace and on macOS. I'll keep an eye on the eval of this, and then adjust.

@angerman angerman merged commit ad387e1 into input-output-hk:armv7a Mar 18, 2023
angerman pushed a commit that referenced this pull request Mar 18, 2023
* android: missing patches

* ios: missing patches
@shumvgolove shumvgolove deleted the missing-commits branch March 21, 2023 09:19
angerman pushed a commit that referenced this pull request Jan 20, 2024
* android: missing patches

* ios: missing patches
hamishmack added a commit that referenced this pull request Mar 17, 2025
* Support for armv7a-bionic (android)

This adds support to haskell.nix for building for armv7a-android.
It includes
- various minor fixes
- a lot of bionic (libc) patches for ghc
- no gold on 32bit android
- android overlay: mostly static
- disable KTLS on openssl for android

* allow setupBuildFlags on components and packages

* android + ios: missing patches (#1884)

* android: missing patches

* ios: missing patches

* Fix hadrian naming convenction

cabal ends up with

aarch64-android

whereas hadrian ends up with

aarch64-linux_android

* Fix format

* newlines

* WIP tools

* Add iserv logic

* WIP

* Fix 9.6.3 aarch64 outline atomics

* Better patch

* Better linux cross

* Fix ghc:-dynamic-system-linker for android

* Fixup arm

* Patch only for aarch64

* add aggregated ghc-9.6 patch

* More android patches

* Adds genapply patch for 9.6

GenApply suffers from having GHC pollute its defines.

* Add [PATCH] AArch64: Fix broken conditional jumps for offsets >= 1MB

This is added for aarch64 for now only as that's the only affeted platform.

* Update default.nix

* fix native musl

* add debug secno patch

* fix musl being considered stage2

* Allow undefined weak symbols.

* Map missing symbols to 0xDEADBEEF.

* Set -dynamic-system-linker if musl and not x86_64

* proper parens

* Add i686 cross

* more patches

* 🤦

* patch interpreter also for windows.

* No dynamic loading on x86.

* 🤦

* Sigh

* Disable linux cross patch for now.

* Fix 32bit patch

* No symbol loading on darwin.

The weak logic doesn't seem to work well there.

* all ghc c files apple-a7

* Drop duplicate patch

* Fixup compilers

* Update nixpkgs pins

* ifdLevel 0

* Simplify bootPkgs

* Update materialized files

* Bump nixpkgs-unstable and ghc911

* Simplify bootPkgs

* Simplify bootPkgs

* Update ghc911

* Reduce the number of compilers tested

* Bump llvm for ghc >=9.10

* Update patch upper bounds

* Include clang for useLLVM GHC

* ifdLevel 1

* Add materialized files

* Disable haskell-gi-overloading (it's too slow to build)

* Update patch upper bound

* ifdLevel 2

* Fixes for GHC HEAD

* ifdLevel 3

* Fixes for GHC HEAD

* Fix supported-languages for GHC HEAD

* More fixes for GHC HEAD

* Possible fix for plugin failure on aarch64-darwin

* ifdLevel 0

* ifdLevel 3

* Add emar and emranlib to ghc js builds

* Fix `repo-tar` downloads

* Fix `repo-tar` downloads

* More fixes for ghc HEAD

* Fix for GHC 9.6 JS backend

* Fix for GHC HEAD JS

* fix syntax errors

* ifdLevel 0

* Disable darwin on hydra for now.

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Fix eval

* Fix patches

* Fix patches

* ifdLevel 0

* ifdLevel 1

* ifdLevel 2

* ifdLevel 3

* Add upper bound for patch

* Add ArchX86 and ArchRISCV64

* Fix logic for iserv-syms.patch

* Fix logic for iserv-syms.patch

* Remove old patch. Latest upstream GHC >9.6 have a better one.

* ifdLevel 0

* ifdLevel 1

* Fix hadrian strip patch

* Fix hadrian strip patch

* Fix haddock (now that isNativeMusl works correctly)

* Fix haddock (now that isNativeMusl works correctly)

* Avoid building source-pins on hackage (just make sure the components needed are present).

* ifdLevel 2

* Fix for native musl builds

* ifdLevel 3

* Add musl32 and android tests

* Add AArch32 to call-cabal-project-to-nix.nix

* Update iserv-proxy patches

* Fix duplication of patch in overlays/bootstrap.nix

* Add missing materialized file

* Remove patch already in 9.2.8

* Build android compilers with nixpkgs 24.05

* Fix gi-gtk test

* Fix eval

* Try aarch64-android-prebuilt

* ifdLevel 1

* Disable ncurses on android for now

* Fix patch

* Use aarch64-android (not prebuilt)

* Fixes for armv7a

* Fixes for armv7a

* Fix ghc-9.6-32bit-cmm.patch bounds

* Fix genapply patch bound

* Try Android SDK version 26

* Try Android SDK version 26

* Try Android SDK version 26

* Use small address space

* Use small address space

* androidNdkVersion = "24"

* Fix android sdk/ndk pins so they work for ci.nix

* Add missing casts

* Add preBuild to set CFLAGS

* Better fix?

* Better fix?

* Support Cabal calling configure with "--host=arm-android"

* Fix ghc 9.8

* Fix for ghc >9.10

* Fix patch error

* Possible fix for aarch64 android

* Fix patches for GHC 8.10

* Try aarch64-android-prebuilt

* Include clang

* Don't include clang for prebuilt android

* Set `LLVMAS`

* Setting LLVMAS to `llvm-as` did not help

* Set `LLVMAS` the same as `CC`

* Relax llvm max version

* Try with llvm version bound relaxed, but without LLVMAS env var

* Define ELF64_ST_VISIBILITY and ELF32_ST_VISIBILITY for android

* ifdLevel 2

* ifdLevel 3

* ifdLevel 2

* ifdLevel 3

* Fix for android ioctl issue

* Skip running tests for aarch64-android

* Same problem for armv7a

* Fixes from aarch64 android

* Fixes from armv7a android

* Test android on nixpkgs 24.11

* musl fix

* Fix musl64 unlit not found issue

* nix flake update iserv-proxy

* nix flake update nixpkgs-2411

* nix flake update iserv-proxy

* Disable x86_64-darwin.R2411 tests (strangely broken)

* Add patch to load archive script

See https://gitlab.haskell.org/ghc/ghc/-/issues/16130

* Fix for libsodium on android

* Move libsodium fix to test/modules.nix

* Fix darwin builds for nixpkgs 24.11

* nix flake update iserv-proxy

* Move iserv-proxy-interpreter overrides into overlays/haskell.nix

* Move iserv-proxy-interpreter overrides into overlays/haskell.nix

* nix flake update iserv-proxy

* Disable musl32 tests (unhandled ELF relocation(Rel) type 10)

* Add to fix resolveArchive for libiserv

* nix flake update iserv-proxy

* nix flake update iserv-proxy

* nix flake update iserv-proxy

* Overlay to avoid issue that will be fixed by NixOS/nixpkgs#385722

* nix flake update iserv-proxy

* Add COMPAT_R_ARM_PREL31 patch to fix TH for armv6a android

* nix flake update iserv-proxy

* Disable plugin test for armv7

* Enable tests that should pass

* Disable shell-for for armv7

* nix flake update iserv-proxy

* nix flake update iserv-proxy

* Exclude libc.a from loadArchive for android

* nix flake update iserv-proxy

* Disable tests of llvm backend for musl32 (seems broken)

* Use static linking for android tests

* Make `.profiled` and `.dwarf` overridable

* Fix cabal-simple-prof test

* Add ghc96X

* Update JS-implement-TH-support.patch

* Skip windows patch now in 9.6 branch

* Update patch

* Fix for ghcjs

* Use hls master branch for testing hls

* Add materialized files

* Add materialized files

* Add materialized files

* Add materialized files

* Fix iserv-proxy issues for GHC >9.11

* Revert "Fix iserv-proxy issues for GHC >9.11"

This reverts commit 7e04c0d.

* nix flake update iserv-proxy

* Disable ghcjs for ghc96720250227 on macOS

* Disable mingwW64 for ghc96720250227 (use ucrt64)

* Disable broken test

* nix flake update iserv-proxy

* Skip broken test

* Skip broken test

---------

Co-authored-by: sh <[email protected]>
Co-authored-by: Hamish Mackenzie <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants