FS#79414 - [dart] Package no longer functions similar to version from Google

Attached to Project: Arch Linux
Opened by Jacob Bang (julemand101) - Saturday, 19 August 2023, 16:01 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:19 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Orhun Parmaksız (orhun)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
I can see that changes have been made in https://bugs.archlinux.org/task/77107 to make the Dart package now being built from source instead of just taking the binaries from https://dart.dev

An issue here is then that the build is no longer including stuff which are part of the Dart SDK version from Google. E.g. if you want to analyze/debug your Dart application, you very much want to use Dart DevTools: https://dart.dev/tools/dart-devtools

The tool are included in the Arch version. But you can't no longer run your application with the `--observe` flag which enabled VM_Service which DevTools attach to.

E.g. when doing the steps documented here: https://dart.dev/tools/dart-devtools#1-start-the-target-app

You get this error with the Arch version of Dart:
[julemand101@argon bin]$ dart run --pause-isolates-on-start --observe main.dart
Setting VM flags failed: Unrecognized flags: pause-isolates-on-start

And the following with the official version:
[julemand101@argon bin]$ /tmp/dart-sdk/bin/dart run --pause-isolates-on-start --observe main.dart
The Dart VM service is listening on http://127.0.0.1:8181/crw1znJHL-w=/
The Dart DevTools debugger and profiler is available at: http://127.0.0.1:8181/crw1znJHL-w=/devtools?uri=ws://127.0.0.1:8181/crw1znJHL-w=/ws
vm-service: isolate(978537105562643) 'main' has no debugger attached and is paused at start. Connect to the Dart VM service at http://127.0.0.1:8181/crw1znJHL-w=/ to debug.

Another issue is that the Arch version are being compiled with the flag "dart_use_compressed_pointers" which means that Dart is only using 32 bit pointer addresses and therefore prevents Dart from making use of more than 4 GB of memory. The "dart_use_compressed_pointers" flag was intended for apps running on phones and is not something that was intended for normal x86_64 installations: https://github.com/dart-lang/sdk/issues/44481

I can't really see any documentation for the reason behind each flag being defined in the current PKGBUILD. The #77107 issue talks about getting some disk space gains but I am rather concerned that any disk space being gained is mostly because of features having been removed from the Dart SDK which makes it less useful as a SDK.

It does also not really help with handling support issues related to Dart when we now need to be concerned about the possibility of any issue coming from the building process Arch are now doing. If Arch should keep current building from source, I would recommend getting in contact with the Dart team about which compile options they are doing for building the official Dart version and then document any tweaks there might be happening in the PKGBUILD.

E.g. an argument could be it is fine that VM_Service access have been removed (still not sure what flag is doing this or which flag is missing). But then I would expect DevTools itself also being cut off the Dart package. But then, the package would not really be a SDK anymore and should not have such description.

Additional info:
* package version: 3.0.7-1
This task depends upon

Closed by  Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:19 GMT
Reason for closing:  Moved
Additional comments about closing:  https://gitlab.archlinux.org/archlinux/p ackaging/packages/dart/issues/1

Loading...