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

ldc: 1.36.0 -> 1.38.0, clean up #293417

Merged
merged 5 commits into from
Jun 8, 2024
Merged

ldc: 1.36.0 -> 1.38.0, clean up #293417

merged 5 commits into from
Jun 8, 2024

Conversation

jtbx
Copy link
Member

@jtbx jtbx commented Mar 5, 2024

Description of changes

https://github.com/ldc-developers/ldc/releases/tag/v1.37.0

(edit 2024/05/12) https://github.com/ldc-developers/ldc/releases/tag/v1.38.0

Also migrate to pkgs/by-name and clean up the package a bit (see commits).

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@jtbx
Copy link
Member Author

jtbx commented Mar 5, 2024

Waiting on #288841 #299618 (adds meta.mainProgram)

@TomaSajt
Copy link
Contributor

Just a heads up: the other PRs have been merged

@jtbx
Copy link
Member Author

jtbx commented Apr 20, 2024 via email

@jtbx jtbx marked this pull request as ready for review May 12, 2024 05:31
@jtbx
Copy link
Member Author

jtbx commented May 12, 2024

Updated to 1.38.0

@jtbx jtbx changed the title ldc: 1.36.0 -> 1.37.0 ldc: 1.36.0 -> 1.38.0 May 12, 2024
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/3920

Copy link
Contributor

@TomaSajt TomaSajt left a comment

Choose a reason for hiding this comment

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

Mostly LGTM, some changes requested

pkgs/by-name/ld/ldc/generic.nix Outdated Show resolved Hide resolved
@jtbx jtbx force-pushed the ldc-1.37.0 branch 2 times, most recently from e13132d to b00a845 Compare May 12, 2024 21:50
@jtbx
Copy link
Member Author

jtbx commented May 13, 2024

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

4 packages failed to build:
  • gtkd
  • inochi-creator
  • inochi-session
  • tilix
14 packages built:
  • Literate
  • btdu
  • cheesecutter
  • dstep
  • dtools
  • dub
  • ldc
  • luneta
  • onedrive
  • onedrivegui
  • onedrivegui.dist
  • rund
  • sambamba
  • serve-d

@jtbx jtbx marked this pull request as draft May 13, 2024 22:12
@TomaSajt
Copy link
Contributor

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

4 packages failed to build:
  • gtkd
  • inochi-creator
  • inochi-session
  • tilix
14 packages built:
  • Literate
  • btdu
  • cheesecutter
  • dstep
  • dtools
  • dub
  • ldc
  • luneta
  • onedrive
  • onedrivegui
  • onedrivegui.dist
  • rund
  • sambamba
  • serve-d

Interesting... I wonder what the breaking change was.

@jtbx
Copy link
Member Author

jtbx commented May 13, 2024

Tilix fails to build because gtkd fails to build, and gtkd fails to build because
of something I'm guessing is in the fixup phase:

Running phase: fixupPhase
shrinking RPATHs of ELF executables and libraries in /nix/store/h69b9p2x7kfv6ijc5cxy8kkbifpdcgif-gtkd-3.10.0
checking for references to /tmp/nix-build-gtkd-3.10.0.drv-0/ in /nix/store/h69b9p2x7kfv6ijc5cxy8kkbifpdcgif-gtkd-3.10.0...
patching script interpreter paths in /nix/store/h69b9p2x7kfv6ijc5cxy8kkbifpdcgif-gtkd-3.10.0
stripping (with command strip and flags -S -p) in  /nix/store/h69b9p2x7kfv6ijc5cxy8kkbifpdcgif-gtkd-3.10.0/lib
chmod: changing permissions of '/lib/pkgconfig/atk-bridge-2.0.pc': Operation not permitted
/nix/store/558iw5j1bk7z6wrg8cp96q2rx03jqj1v-stdenv-linux/setup: line 131: pop_var_context: head of shell_variables not a function context

Inochi fails because the json library attempts to throw an immutable exception:

../.dub/packages/fghj/1.0.2/fghj/source/fghj/fghj.d(244,19): Deprecation: cannot throw object of qualified type `immutable(EmptyFghjException)`

fghj.d(244)

I can't find anything in the changelogs for 2.107-2.108 about this either...

@TomaSajt
Copy link
Contributor

TomaSajt commented May 13, 2024

If you look at the inochi logs, the errors are earlier.

Error: constructor `inochi2d.core.nodes.Node.this` is not accessible from module `composite`
...
Error: constructor `inochi2d.core.nodes.Node.this` is not accessible from module `drivers`
Error: constructor `inochi2d.core.nodes.drivers.Driver.this` is not accessible from module `simplephysics`

These errors are results of this being fixed: https://issues.dlang.org/show_bug.cgi?id=24387 in dmd, which is in the ldc release.

I also sent this info to the inochi devs.

@jtbx
Copy link
Member Author

jtbx commented May 13, 2024

Ah I didn't see that error, that makes a lot more sense now.

@TomaSajt
Copy link
Contributor

TomaSajt commented May 13, 2024

Okay, so I came up with a fix for inochi stuff

This should go in the postConfigure of pkgs/applications/misc/inochi2d/generic.nix

inochi2d_dir=("$DUB_HOME"/packages/inochi2d/*/inochi2d)
patch -p1 -d "$inochi2d_dir" < ${./ldc-1.38.0-compat.patch}

Where ldc-1.38.0-compat.patch is the following:

diff --git a/source/inochi2d/core/nodes/drivers/package.d b/source/inochi2d/core/nodes/drivers/package.d
index 9a46846..01046b6 100644
--- a/source/inochi2d/core/nodes/drivers/package.d
+++ b/source/inochi2d/core/nodes/drivers/package.d
@@ -17,10 +17,8 @@ public import inochi2d.core.nodes.drivers.simplephysics;
 */
 @TypeId("Driver")
 abstract class Driver : Node {
-private:
-    this() { }
-
 protected:
+    this() { }
     /**
         Constructs a new Driver node
     */
diff --git a/source/inochi2d/core/nodes/package.d b/source/inochi2d/core/nodes/package.d
index 6090355..5045361 100644
--- a/source/inochi2d/core/nodes/package.d
+++ b/source/inochi2d/core/nodes/package.d
@@ -74,8 +74,6 @@ void inClearUUIDs() {
 @TypeId("Node")
 class Node : ISerializable {
 private:
-    this() { }
-
     @Ignore
     Puppet puppet_;
 
@@ -98,6 +96,8 @@ private:
     string nodePath_;
 
 protected:
+    this() { }
+
     bool preProcessed  = false;
     bool postProcessed = false;
 

Not sure if this should be in this PR or a separate one.

@jtbx
Copy link
Member Author

jtbx commented May 20, 2024

Good point, the dmd package does the same. I can change it back.

@jtbx jtbx changed the title ldc: 1.36.0 -> 1.38.0 ldc: 1.36.0 -> 1.38.0, clean up May 20, 2024
@jtbx
Copy link
Member Author

jtbx commented May 20, 2024

@lionello was there any reason for the package versions to be in separate files?

@TomaSajt
Copy link
Contributor

TomaSajt commented Jun 5, 2024

Now that #314953 is merged, the inochi patches can probably be dropped

@jtbx
Copy link
Member Author

jtbx commented Jun 5, 2024

Yep, everything builds now:

18 packages built:
Literate btdu cheesecutter dstep dtools dub gtkd inochi-creator inochi-session ldc luneta onedrive onedrivegui onedrivegui.dist rund sambamba serve-d tilix

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/4038

pkgs/by-name/ld/ldc/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/ld/ldc/package.nix Show resolved Hide resolved
pkgs/development/compilers/ldc/bootstrap.nix Outdated Show resolved Hide resolved
@jtbx
Copy link
Member Author

jtbx commented Jun 7, 2024

Result of nixpkgs-review pr 293417 run on aarch64-linux 1

1 package marked as broken and skipped:
  • inochi-session
15 packages built:
  • Literate
  • btdu
  • dstep
  • dtools
  • dub
  • gtkd
  • inochi-creator
  • ldc
  • luneta
  • onedrive
  • onedrivegui
  • onedrivegui.dist
  • rund
  • serve-d
  • tilix

@TomaSajt
Copy link
Contributor

TomaSajt commented Jun 7, 2024

Result of nixpkgs-review pr 293417 run on aarch64-linux 1

1 package marked as broken and skipped:
  • inochi-session
15 packages built:
  • Literate
  • btdu
  • dstep
  • dtools
  • dub
  • gtkd
  • inochi-creator
  • ldc
  • luneta
  • onedrive
  • onedrivegui
  • onedrivegui.dist
  • rund
  • serve-d
  • tilix

I read something about aarch64 support being dropped for inochi, but thought it would be only for next major release.
One of the two was already failing for aarch64 so it was already marked as broken.
Perhaps the supported platforms should be narrowed instead. I'll look into it later.

Edit: nevermind, I just misinterpreted the output of nixpkgs-review's notion of being marked as broken. In this case, everything's fine

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/4050

@pbsbot
Copy link

pbsbot commented Jun 8, 2024

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

18 packages built:
  • Literate
  • btdu
  • cheesecutter
  • dstep
  • dtools
  • dub
  • gtkd
  • inochi-creator
  • inochi-session
  • ldc
  • luneta
  • onedrive
  • onedrivegui
  • onedrivegui.dist
  • rund
  • sambamba
  • serve-d
  • tilix

@pbsds
Copy link
Member

pbsds commented Jun 8, 2024

I read something about aarch64 support being dropped for inochi

Asahi Lina would never let that happen ;)

@pbsds pbsds merged commit 50c6933 into NixOS:master Jun 8, 2024
24 checks passed
@jtbx
Copy link
Member Author

jtbx commented Jun 8, 2024

Thank you!

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.

7 participants