#1149079 ITP: dart-native-synchronization -- Low level synchronization primitives built on dart:ffi

#1149079#5
Date:
2026-09-26 13:27:03 UTC
From:
To:
* Package name    : dart-native-synchronization
  Version         : 0.3.1
  Upstream Author : the Dart project authors
* URL             : https://github.com/dart-lang/labs/tree/main/pkgs/native_synchronization
* License         : BSD-3-clause
  Programming Lang: Dart
  Description     : Low level synchronization primitives built on dart:ffi

 This is a build-time dependency of the Dart Sass compiler.

#1149079#10
Date:
2026-09-27 07:31:12 UTC
From:
To:
The Debian NEW review of dart-native-synchronization 0.3.1-1 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,

These may be issues that you want to work on.  No need to reply with details.


1. Incomplete mtime workaround

debian/rules:13 (override_dh_install) only re-stamps directories (find ... -type d), but the upstream pub.dev tarball records files with epoch-0 mtimes too. The claimed problem (files dated 1970-01-01) is not actually fixed for the regular files, so the override is half-applied and doesn't achieve what its own comment says. It also hardcodes the package dir name instead of $(CURDIR).

2. Missing dependency on the Dart toolchain/ffi

debian/control:12-14 ships a binary package with no Depends:. Yet pubspec.yaml:9 declares ffi: ^2.1.0 as a runtime dependency. Consuming this package as a path dependency via pub get would not have ffi resolvable, so the package is not self-sufficient as shipped. It should at least depend on the Dart SDK, and ideally the Debian dart-ffi package.

3. Wrong section

debian/control:2 uses Section: libs for a package that ships only build-time Dart sources; devel would be more appropriate, matching the intent stated in the Description ("ships the Dart sources ... depend on it at build time").

4. No test integration

test/ contains mailbox_test.dart and primitives_test.dart, but there is no Testsuite: autopkgtest in debian/control and no debian/tests/. The shipped tests are never exercised.

5. debian/install:1-2 ships only lib/ and pubspec.yaml into the package dir; CHANGELOG.md is omitted from the installed tree (README goes only to /usr/share/doc via debian/docs). Minor completeness gap for a path-package.


Thanks!

Full review details: https://dfsg-new-queue.debian.org/reviews/dart-native-synchronization

#1149079#15
Date:
2026-09-27 08:10:20 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
dart-native-synchronization, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1149079@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Emfox Zhou <emfox@debian.org> (supplier of updated dart-native-synchronization package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 26 Sep 2026 19:40:47 +0800
Source: dart-native-synchronization
Binary: dart-native-synchronization
Architecture: source all
Version: 0.3.1-1
Distribution: unstable
Urgency: medium
Maintainer: Emfox Zhou <emfox@debian.org>
Changed-By: Emfox Zhou <emfox@debian.org>
Description:
 dart-native-synchronization - Low level synchronization primitives built on dart:ffi
Closes: 1149079
Changes:
 dart-native-synchronization (0.3.1-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1149079)
Checksums-Sha1:
 e38212e0da3202c350432e50a1238a47e8a12129 2090 dart-native-synchronization_0.3.1-1.dsc
 4e09077a927cbaf01017ace44f6263aed0d6340a 6732 dart-native-synchronization_0.3.1.orig.tar.gz
 41215af083017f6d1f8925d7e65ce950b831c5f9 2300 dart-native-synchronization_0.3.1-1.debian.tar.xz
 797badf503836f13462f1e8e39908a6787ff0c0d 7196 dart-native-synchronization_0.3.1-1_all.deb
 cd7782b5ae8855cf36f9ecdfe84b5bc1a4c39133 5610 dart-native-synchronization_0.3.1-1_amd64.buildinfo
Checksums-Sha256:
 b1a045d01930b1b221f8cf7bbd8f29299d43aca844541d7a921fe870dce9fb29 2090 dart-native-synchronization_0.3.1-1.dsc
 047fa3665d611e178edc167e56166714f125750f064d20216892f1cca69d9d1d 6732 dart-native-synchronization_0.3.1.orig.tar.gz
 d62a5c7655fde6a7e3c3bcfe0fb14c7773a52089bf08adf102de26c12b349a75 2300 dart-native-synchronization_0.3.1-1.debian.tar.xz
 cdea5c7b9efc7f1dc7f37e3c261737c625c789e77bbb5ac92366998c2c3ddd63 7196 dart-native-synchronization_0.3.1-1_all.deb
 ef59a79e66f47812012793fec31dfc0e768d989598cc9fa0232758081cb7a701 5610 dart-native-synchronization_0.3.1-1_amd64.buildinfo
Files:
 1fc4b7c74e20e822d56964f94732307c 2090 libs optional dart-native-synchronization_0.3.1-1.dsc
 6d58d4c603d56e1aec8884e29ca0784c 6732 libs optional dart-native-synchronization_0.3.1.orig.tar.gz
 207dacd0624f6506d73a22e157e53ba9 2300 libs optional dart-native-synchronization_0.3.1-1.debian.tar.xz
 d6a183125f73b9dc60b66befedab1d53 7196 libs optional dart-native-synchronization_0.3.1-1_all.deb
 14a31bb78523f70354388d899493b098 5610 libs optional dart-native-synchronization_0.3.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEGSauJtItZVqOiaNpgImbv9t7vZQFAmq4ipcACgkQgImbv9t7
vZRlYQ/+Nk1+JxYnXQnwF+89a6T53uvVvnPIDxBLIMT3AyuXS1W09c/e6KfggDZL
wISNZ2PWwfW8A3WJsVZxMOOXCwmqVnwtd9R8GHSBnz2QpWUK/RBw4QBQ9ny4N50z
OyvQ4zvYY/qUq5ootTRsggJ+onHr3vNfPksVQsTF8hCG6vLwSCMkqdKMV/BEfv1w
bSh7BKWqMaUerLE/JW3kIorAMaCBfiowp4u7AM9Jge+dD4XBrVFAxBITxr8a7RsW
emZ4UouonPyzZCsDULFrOlLKI1ldcHdhi3aRLh7v6EGJNQlGlWDLPCDpkwTQDzIF
xJH/5v17HFkSoI+QdZECc2rmcEY2Eg5lzfkMOcD8b5EDg2m2TWDqYcFKwzYEX987
P0QaS2bW3uVz+tz+jFC95KceIstgYQzKE9sY/TRxQN+IUS4Gxe1LX8BNmUx3ENdg
n0OcOkxwAfUy51ygc1Rz2jwnRTlcwbZ/FxjyGsKMWR5hDPNn21gLWgZ0EqNTeVT4
0LOalgJAdyceXuXK2bgMVvduw/FlZHbqQXHZ9QzwYVWPYgtaFvN2okpFyrIjVZ0F
LixR9bjT1QX7VZW80hXRjVTHDZlbL20Je7YM/vA9c/pSkJkLbJYHpAsmRW0gofVM
n5VYZkgNjfO94cf8UpIsnSS5y/qA7c+HApDl28sY4E2qIr0xIFM=
=2+5j
-----END PGP SIGNATURE-----