Skip to content
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

haxe: add 4.2.1 and update default version #116953

Merged
merged 4 commits into from Mar 25, 2021

Conversation

sternenseemann
Copy link
Member

Motivation for this change

#116302 with a few cleanups and without removing the old compilers.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@sternenseemann
Copy link
Member Author

@ofborg build neko haxe haxe_3_2 haxe_3_4 haxe_4_0 haxe_4_1

@locallycompact
Copy link
Contributor

Looks good to me.

@r-rmcgibbo
Copy link

r-rmcgibbo commented Mar 19, 2021

Result of nixpkgs-review pr 116953 at bf0dbb41 run on x86_64-linux 1

10 packages built successfully:
3 suggestions:
  • warning: missing-phase-hooks

    installPhase should probably contain runHook preInstall and runHook postInstall.

    Near pkgs/development/compilers/haxe/default.nix:51:7:

       |
    51 |       installPhase = ''
       |       ^
    
  • warning: unclear-gpl

    gpl2 is a deprecated license, check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.

    Near pkgs/development/compilers/haxe/default.nix:107:9:

        |
    107 |         license = with licenses; [ gpl2 bsd2 /*?*/ ];  # -> docs/license.txt
        |         ^
    
  • warning: unclear-gpl

    lgpl21 is a deprecated license, check if project uses lgpl21Plus or lgpl21Only and change meta.license accordingly.

    Near pkgs/development/compilers/neko/default.nix:36:5:

       |
    36 |     license = licenses.lgpl21;
       |     ^
    

Result of nixpkgs-review pr 116953 at bf0dbb41 run on aarch64-linux 1

2 packages marked as broken and skipped:
  • haxe_3_2
  • haxe_3_4
8 packages built successfully:
3 suggestions:
  • warning: missing-phase-hooks

    installPhase should probably contain runHook preInstall and runHook postInstall.

    Near pkgs/development/compilers/haxe/default.nix:51:7:

       |
    51 |       installPhase = ''
       |       ^
    
  • warning: unclear-gpl

    gpl2 is a deprecated license, check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.

    Near pkgs/development/compilers/haxe/default.nix:107:9:

        |
    107 |         license = with licenses; [ gpl2 bsd2 /*?*/ ];  # -> docs/license.txt
        |         ^
    
  • warning: unclear-gpl

    lgpl21 is a deprecated license, check if project uses lgpl21Plus or lgpl21Only and change meta.license accordingly.

    Near pkgs/development/compilers/neko/default.nix:36:5:

       |
    36 |     license = licenses.lgpl21;
       |     ^
    

Copy link
Member

@aszlig aszlig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, although I didn't take a detailed look at it, nor did I test it.

@locallycompact
Copy link
Contributor

@sternenseemann If you're interested I could use help with hashlink as well. #116321

pkgs/development/compilers/haxe/default.nix Outdated Show resolved Hide resolved
pkgs/development/compilers/haxe/default.nix Outdated Show resolved Hide resolved
pkgs/development/compilers/haxe/default.nix Outdated Show resolved Hide resolved
pkgs/development/compilers/haxe/default.nix Show resolved Hide resolved
pkgs/development/compilers/neko/default.nix Show resolved Hide resolved
pkgs/development/ocaml-modules/extlib/1.7.8.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/extlib/1.7.8.nix Outdated Show resolved Hide resolved
@sternenseemann sternenseemann force-pushed the haxe-updates branch 5 times, most recently from 447b788 to 49f7f07 Compare March 20, 2021 00:59
@SuperSandro2000
Copy link
Member

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.

Result of nixpkgs-review pr 116953 run on x86_64-linux 1

10 packages built:
  • haxe (haxe_4_2)
  • hxcpp (haxePackages.hxcpp)
  • haxePackages.hxcs
  • haxePackages.hxjava
  • haxePackages.hxnodejs_4
  • haxe_3_2
  • haxe_3_4
  • haxe_4_0
  • haxe_4_1
  • neko

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

haxe:

warning: unclear-gpl
gpl2 is a deprecated license, check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.

Near pkgs/development/compilers/haxe/default.nix:107:9:

    |
107 |         license = with licenses; [ gpl2 bsd2 /*?*/ ];  # -> docs/license.txt
    |         ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/unclear-gpl.md

@sternenseemann
Copy link
Member Author

@ofborg build neko haxe haxe_3_2 haxe_3_4 haxe_4_0 haxe_4_1

@sternenseemann sternenseemann force-pushed the haxe-updates branch 2 times, most recently from 7d4fcb2 to 629ee6a Compare March 21, 2021 11:56
@sternenseemann
Copy link
Member Author

I've dropped haxe 4.1 and 4.0 because they require us to jump through hoops for extlib as they need < 1.7.7. I can add them back if we absolutely need them, but would prefer not to.

@sternenseemann sternenseemann changed the title haxe: add 4.0.x, 4.1.x and update default version to 4.2.1 haxe: add 4.2.1 and update default version Mar 22, 2021
@OPNA2608
Copy link
Contributor

OPNA2608 commented Mar 25, 2021

Built lukaskj/haxe-example targets "cpp", "cs", "java" and "executable" (neko) on Haxe 4.2. All build results ran fine, either on their own or under their respective runtime.

Locally packaged haxeui/hxWidgets + dependencies, built one of its sample GUI projects on Haxe 4.2 and 3.4 (this PR) and 3.4 (current master). All build results ran fine.

(Used overlay for & screenshot of hxWidgets here)
self: super: rec {

  haxePackages = super.haxePackages // {
    hscript = super.haxePackages.buildHaxeLib rec {
      libname = "hscript";
      version = "2.4.0";
      sha256 = "0qdxgqb75j1v125l9xavs1d32wwzi60rhfymngdhjqhdvq72bhxx";
      meta.description = "Haxe Script is a scripting engine for a subset of the Haxe language";
    };
    hxWidgets = super.haxePackages.buildHaxeLib rec {
      libname = "hxWidgets";
      version = "1.7.2";
      sha256 = "1ki90m2qqyqmcmwd97id4ck9rr25dvdlnmfp53bg8prcyg41wbgf";
      meta.description = "Haxe externs (and wrappers) for wxWidgets";
      propagatedBuildInputs = with super; [ wxGTK31 libGL ];
    };
  };

  haxetest = super.callPackage (

{ stdenv
, haxe, haxePackages
}:

stdenv.mkDerivation rec {
  pname = "haxetest";
  version = "irrelevant";
  
  src = haxePackages.hxWidgets.src;
  
  nativeBuildInputs = [ haxe ] ++ (with haxePackages; [ hxcpp hscript hxWidgets ]);
  
  buildPhase = "cd samples/00-Showcase && haxe build.hxml";
  
  installPhase = ''
    install -Dm755 bin/Main $out/bin/00-Showcase
  '';
}
 
  ) { };
}

grafik

LGTM.

@sternenseemann
Copy link
Member Author

Great, thank you for your help! If there aren't any other comments, I think we can merge and then (re)introduce 4.0 and 4.1 in the next PR!

@OPNA2608
Copy link
Contributor

As a more complex test, I also managed to get Friday Night Funkin' compiled & running with Haxe 4.2, though only v0.2.7.1. Building the current master with some required patches gets… stuck? Haxelib, Neko and its GCC subprocesses just keep eating away at the CPU without any new compiled results. I assume its a problem with one of the dependencies/FNF and not Haxe/Neko itself.

grafik

I'll still look forward to the 4.1 PR 🙂

locallycompact and others added 4 commits March 25, 2021 21:49
Co-authored-by: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
haxe_4_2: init at 4.2.1

haxe_3_4, haxe_3_2 still exist.

Co-authored-by: Daniel Firth <dan.firth@homotopic.tech>
As a side note: This change shows why `with` can be dangerous business:
It doesn't shadow any existing bindings which can be unexpected. If I
were to use with licenses; [ … ] here, zlib in the with block would
actually be the zlib passed via the function arguments instead of the
zlib from licenses which would be expected. This was what caused the
previous eval error.
Upstream specifies MIT and GPL2+ in its opam file, so we run with this.
There doesn't seem to have been any license change and I couldn't track
down the mentioned docs/license.txt.
@sternenseemann
Copy link
Member Author

@ofborg build haxe_3_2 haxe_3_4 neko

@sternenseemann sternenseemann merged commit 91b91eb into NixOS:master Mar 25, 2021
@sternenseemann sternenseemann deleted the haxe-updates branch March 25, 2021 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants