packagekit_dart 0.3.2 copy "packagekit_dart: ^0.3.2" to clipboard
packagekit_dart: ^0.3.2 copied to clipboard

PlatformLinux

Dart FFI bindings for PackageKit, the cross-distro Linux package manager. Search, install, update, and remove packages via D-Bus with async streams.

example/example.dart

// Example: search for packages by name.
//
// Build the native library first:
//   cmake -B build native/ -GNinja -DCMAKE_BUILD_TYPE=Release
//   cmake --build build --parallel
//
// Run with:
//   PK_NC_LIB=$(pwd)/build/libpackagekit_nc.so dart run example/example.dart

import 'package:packagekit_dart/packagekit_dart.dart';

Future<void> main() async {
  final client = await PkClient.connect();
  print('Backend: ${client.properties?.backendName}');

  // Search for packages
  final tx = client.searchName('firefox');
  await for (final pkg in tx.packages) {
    final state = pkg.info == PkInfo.installed ? '[installed]' : '[available]';
    print('${pkg.id.name.padRight(40)} ${pkg.id.version.padRight(20)} $state');
  }
  await tx.result;

  await client.close();
}
0
likes
150
points
9.31k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Dart FFI bindings for PackageKit, the cross-distro Linux package manager. Search, install, update, and remove packages via D-Bus with async streams.

Repository (GitHub)
View/report issues

Topics

#linux #packagekit #dbus #package-manager #ffi

License

Apache-2.0 (license)

Dependencies

code_assets, ffi, hooks, native_toolchain_c, path

More

Packages that depend on packagekit_dart