Apply latest nixfmt

This commit is contained in:
Emery Hemingway 2024-06-03 18:19:16 +03:00
parent c69eb46dc8
commit 749a73d921
23 changed files with 456 additions and 266 deletions

View File

@ -1,8 +1,8 @@
{ pkgs ? null }: {
pkgs ? null,
}:
let let
overlay = import ./overlay.nix; overlay = import ./overlay.nix;
pkgs' = if pkgs == null then pkgs' = if pkgs == null then import <nixpkgs> { overlays = [ overlay ]; } else pkgs.extend overlay;
import <nixpkgs> { overlays = [ overlay ]; } in
else builtins.intersectAttrs (overlay { } { }) pkgs'
pkgs.extend overlay;
in builtins.intersectAttrs (overlay { } { }) pkgs'

122
flake.nix
View File

@ -1,62 +1,82 @@
{ {
description = "Syndicate utilities"; description = "Syndicate utilities";
outputs = { self, nixpkgs }: { outputs =
lib = nixpkgs.lib.extend (import ./lib.nix); { self, nixpkgs }:
{
lib = nixpkgs.lib.extend (import ./lib.nix);
overlays.default = import ./overlay.nix; overlays.default = import ./overlay.nix;
legacyPackages = legacyPackages = self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
inherit (nixpkgs.legacyPackages) x86_64-linux; inherit (nixpkgs.legacyPackages) x86_64-linux;
}; };
packages = self.lib.mapAttrs (system: pkgs: packages = self.lib.mapAttrs (
with pkgs; { system: pkgs: with pkgs; {
inherit fontconfig_actor libnotify_actor noise-c preserves-tools squeak inherit
squeaker syndicate-server syndicated-open syndicate_utils; fontconfig_actor
preserves-py = python3Packages.preserves; libnotify_actor
syndicate-py = python3Packages.syndicate-py; noise-c
}) self.legacyPackages; preserves-tools
squeak
squeaker
syndicate-server
syndicated-open
syndicate_utils
;
preserves-py = python3Packages.preserves;
syndicate-py = python3Packages.syndicate-py;
}
) self.legacyPackages;
nixosModules.default = self.nixosModules.syndicate-server; nixosModules.default = self.nixosModules.syndicate-server;
nixosModules.syndicate-server = nixosModules.syndicate-server =
# A little hack to apply our overlay to this module only. # A little hack to apply our overlay to this module only.
{ config, lib, pkgs, ... }: {
(import ./nixos/syndicate-server.nix) { config,
inherit config lib; lib,
pkgs = pkgs.extend self.overlays.default; pkgs,
}; ...
}:
devShells = self.lib.mapAttrs (system: pkgs: (import ./nixos/syndicate-server.nix) {
with pkgs; { inherit config lib;
default = pkgs = pkgs.extend self.overlays.default;
mkShell { packages = builtins.attrValues self.packages.${system}; };
}) self.legacyPackages;
checks = self.lib.mapAttrs (system: pkgs':
with import (nixpkgs + "/nixos/lib/testing-python.nix") {
inherit system;
pkgs = pkgs';
}; {
simple = simpleTest {
name = "http";
nodes.machine = { config, pkgs, ... }: {
imports = [ self.nixosModules.syndicate-server ];
nixpkgs.pkgs = pkgs';
services.syndicate.tty1 = {
enable = true;
user = "loser";
config = [ ];
};
users.users.loser.isNormalUser = true;
};
testScript = ''
machine.wait_for_job("syndicate-tty1")
'';
}; };
}) { inherit (self.legacyPackages) x86_64-linux; };
}; devShells = self.lib.mapAttrs (
system: pkgs: with pkgs; {
default = mkShell { packages = builtins.attrValues self.packages.${system}; };
}
) self.legacyPackages;
checks = self.lib.mapAttrs (
system: pkgs':
with import (nixpkgs + "/nixos/lib/testing-python.nix") {
inherit system;
pkgs = pkgs';
}; {
simple = simpleTest {
name = "http";
nodes.machine =
{ config, pkgs, ... }:
{
imports = [ self.nixosModules.syndicate-server ];
nixpkgs.pkgs = pkgs';
services.syndicate.tty1 = {
enable = true;
user = "loser";
config = [ ];
};
users.users.loser.isNormalUser = true;
};
testScript = ''
machine.wait_for_job("syndicate-tty1")
'';
};
}
) { inherit (self.legacyPackages) x86_64-linux; };
};
} }

17
lib.nix
View File

@ -1,11 +1,14 @@
final: prev: final: prev:
let lib = final; let
in with lib; { lib = final;
in
with lib;
{
generators = with final.generators; generators =
prev.generators // { with final.generators;
toPreserves = throw prev.generators
"moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit"; // {
toPreserves = throw "moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit";
}; };
} }

View File

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
options.services.syndicate = lib.mkOption { options.services.syndicate = lib.mkOption {
@ -15,97 +20,110 @@
If the key is in the form of "tty''${N}" it will If the key is in the form of "tty''${N}" it will
be attached to the appropriate teletypewriter. be attached to the appropriate teletypewriter.
''; '';
type = lib.types.attrsOf (lib.types.submodule { type = lib.types.attrsOf (
options = { lib.types.submodule {
enable = lib.mkEnableOption "this Syndicate dataspace server instance"; options = {
enable = lib.mkEnableOption "this Syndicate dataspace server instance";
user = lib.mkOption { user = lib.mkOption {
type = lib.types.str; type = lib.types.str;
example = "jane"; example = "jane";
description = "User account under which the Syndicate server runs."; description = "User account under which the Syndicate server runs.";
};
package = lib.mkOption {
default = pkgs.syndicate-server;
defaultText = "pkgs.syndicate-server";
type = lib.types.package;
description = "The package to use for the Syndicate dataspace server.";
};
config = lib.mkOption {
type = lib.types.listOf lib.types.path;
description = "Configurations to load.";
example = [ "/etc/syndicate" ];
};
}; };
}
package = lib.mkOption { );
default = pkgs.syndicate-server;
defaultText = "pkgs.syndicate-server";
type = lib.types.package;
description =
"The package to use for the Syndicate dataspace server.";
};
config = lib.mkOption {
type = lib.types.listOf lib.types.path;
description = "Configurations to load.";
example = [ "/etc/syndicate" ];
};
};
});
}; };
config = { config = {
systemd.services = let systemd.services =
configure = name: cfg: let
let configure =
configFile = lib.pipe cfg.config [ name: cfg:
(lib.strings.concatMapStrings (dir: '' let
<require-service <config-watcher "${dir}" $.>> configFile = lib.pipe cfg.config [
'')) (lib.strings.concatMapStrings (dir: ''
(pkgs.writeText "syndicate-nixos-config.pr") <require-service <config-watcher "${dir}" $.>>
]; ''))
in [{ (pkgs.writeText "syndicate-nixos-config.pr")
name = "syndicate-${name}";
value = let
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${cfg.package}/bin/syndicate-server --no-banner --config ${configFile}";
User = cfg.user;
};
in {
description = "Syndicate dataspace server";
restartIfChanged = false;
reloadIfChanged = false;
wantedBy = [ "multi-user.target" ];
} // (if builtins.match "tty[0-9]" name == null then {
inherit serviceConfig;
} else {
after = [
"systemd-user-sessions.service"
"systemd-logind.service"
"getty@${name}.service"
]; ];
wants = [ "dbus.socket" "systemd-logind.service" ]; in
conflicts = [ "getty@${name}.service" ]; [
unitConfig.ConditionPathExists = "/dev/${name}"; {
serviceConfig = serviceConfig // { name = "syndicate-${name}";
PAMName = "login"; value =
StandardError = "journal"; let
StandardInput = "tty-fail"; serviceConfig = {
StandardOutput = "journal"; RuntimeDirectory = name;
TTYPath = "/dev/${name}"; ExecStart = "${cfg.package}/bin/syndicate-server --no-banner --config ${configFile}";
TTYReset = "yes"; User = cfg.user;
TTYVHangup = "yes"; };
TTYVTDisallocate = "yes"; in
UtmpIdentifier = "%n"; {
UtmpMode = "user"; description = "Syndicate dataspace server";
WorkingDirectory = "~"; restartIfChanged = false;
}; reloadIfChanged = false;
}); wantedBy = [ "multi-user.target" ];
}]; }
serverCfgs = // (
lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.syndicate; if builtins.match "tty[0-9]" name == null then
in lib.pipe serverCfgs [ { inherit serviceConfig; }
(lib.attrsets.mapAttrsToList configure) else
lib.lists.flatten {
builtins.listToAttrs after = [
]; "systemd-user-sessions.service"
"systemd-logind.service"
systemd.targets.multi-user.wants = lib.lists.flatten "getty@${name}.service"
(lib.attrsets.mapAttrsToList ];
(name: cfg: lib.optional cfg.enable "syndicate-${name}.service") wants = [
config.services.syndicate); "dbus.socket"
"systemd-logind.service"
];
conflicts = [ "getty@${name}.service" ];
unitConfig.ConditionPathExists = "/dev/${name}";
serviceConfig = serviceConfig // {
PAMName = "login";
StandardError = "journal";
StandardInput = "tty-fail";
StandardOutput = "journal";
TTYPath = "/dev/${name}";
TTYReset = "yes";
TTYVHangup = "yes";
TTYVTDisallocate = "yes";
UtmpIdentifier = "%n";
UtmpMode = "user";
WorkingDirectory = "~";
};
}
);
}
];
serverCfgs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.syndicate;
in
lib.pipe serverCfgs [
(lib.attrsets.mapAttrsToList configure)
lib.lists.flatten
builtins.listToAttrs
];
systemd.targets.multi-user.wants = lib.lists.flatten (
lib.attrsets.mapAttrsToList (
name: cfg: lib.optional cfg.enable "syndicate-${name}.service"
) config.services.syndicate
);
}; };
} }

View File

@ -1,52 +1,55 @@
final: prev: final: prev:
let let
rustPkgs = let rustPkgs =
overlay = import (prev.fetchFromGitHub { let
owner = "oxalica"; overlay = import (
repo = "rust-overlay"; prev.fetchFromGitHub {
rev = "a2ccfb2134622b28668a274e403ba6f075ae1223"; owner = "oxalica";
hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc="; repo = "rust-overlay";
}); rev = "a2ccfb2134622b28668a274e403ba6f075ae1223";
in final.extend overlay; hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc=";
}
);
in
final.extend overlay;
rust' = rustPkgs.rust-bin.nightly.latest.default; rust' = rustPkgs.rust-bin.nightly.latest.default;
in
in { {
lib = prev.lib.extend (import ./lib.nix); lib = prev.lib.extend (import ./lib.nix);
acpi_actor = final.callPackage ./packages/acpi_actor { }; acpi_actor = final.callPackage ./packages/acpi_actor { };
fontconfig_actor = fontconfig_actor = final.callPackage ./packages/fontconfig_actor { };
final.callPackage ./packages/fontconfig_actor { };
libnotify_actor = libnotify_actor = final.callPackage ./packages/libnotify_actor { };
final.callPackage ./packages/libnotify_actor { };
nix_actor = final.callPackage ./packages/nix_actor { }; nix_actor = final.callPackage ./packages/nix_actor { };
noiseprotocol = final.callPackage ./packages/nim/noiseprotocol { }; noiseprotocol = final.callPackage ./packages/nim/noiseprotocol { };
syndicate_utils = final.callPackage ./packages/syndicate_utils-nim { }; syndicate_utils = final.callPackage ./packages/syndicate_utils-nim { };
syndicated-open = final.callPackage ./packages/syndicated-open { }; syndicated-open = final.callPackage ./packages/syndicated-open { };
noise-c = final.callPackage ./packages/noise-c { }; noise-c = final.callPackage ./packages/noise-c { };
preserves-tools = final.callPackage ./packages/preserves-tools { }; preserves-tools = final.callPackage ./packages/preserves-tools { };
python3Packages = prev.python3Packages.overrideScope (final': prev': { python3Packages = prev.python3Packages.overrideScope (
preserves = final'.callPackage ./packages/preserves-py { }; final': prev': {
syndicate-py = final'.callPackage ./packages/syndicate-py { }; preserves = final'.callPackage ./packages/preserves-py { };
synit-daemons = final'.callPackage ./packages/synit-daemons-py { }; syndicate-py = final'.callPackage ./packages/syndicate-py { };
}); synit-daemons = final'.callPackage ./packages/synit-daemons-py { };
}
);
sqlite_actor = final.callPackage ./packages/sqlite_actor { }; sqlite_actor = final.callPackage ./packages/sqlite_actor { };
squeak = final.callPackage ./packages/squeak { }; squeak = final.callPackage ./packages/squeak { };
squeaker = final.python3Packages.callPackage ./packages/squeaker { }; squeaker = final.python3Packages.callPackage ./packages/squeaker { };
syndicate-server = syndicate-server = final.callPackage ./packages/syndicate-server { rust = rust'; };
final.callPackage ./packages/syndicate-server { rust = rust'; };
synit-pid1 = final.callPackage ./packages/synit-pid1 { }; synit-pid1 = final.callPackage ./packages/synit-pid1 { };

View File

@ -1,6 +1,10 @@
{ lib, buildNimPackage, fetchFromGitea }: {
lib,
buildNimPackage,
fetchFromGitea,
}:
buildNimPackage rec { buildNimPackage (finalAttrs: {
pname = "acpi_actor"; pname = "acpi_actor";
version = "20231010"; version = "20231010";
@ -8,7 +12,7 @@ buildNimPackage rec {
domain = "git.syndicate-lang.org"; domain = "git.syndicate-lang.org";
owner = "ehmry"; owner = "ehmry";
repo = pname; repo = pname;
rev = version; rev = finalAttrs.version;
hash = "sha256-eN3VC2yL6UvjeIGvzx0PAujR/Xd6Rc1e9Ftf6fKKk2E="; hash = "sha256-eN3VC2yL6UvjeIGvzx0PAujR/Xd6Rc1e9Ftf6fKKk2E=";
}; };

View File

@ -1,4 +1,10 @@
{ lib, buildNimPackage, fetchFromGitea, fontconfig, pkg-config }: {
lib,
buildNimPackage,
fetchFromGitea,
fontconfig,
pkg-config,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "fontconfig_actor"; pname = "fontconfig_actor";

View File

@ -1,4 +1,10 @@
{ lib, buildNimPackage, fetchFromGitea, libnotify, pkg-config }: {
lib,
buildNimPackage,
fetchFromGitea,
libnotify,
pkg-config,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "libnotify_actor"; pname = "libnotify_actor";

View File

@ -1,4 +1,8 @@
{ lib, buildNimPackage, noise-c }: {
lib,
buildNimPackage,
noise-c,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "noise"; pname = "noise";

View File

@ -1,16 +1,26 @@
{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub, boost, nix, pkg-config {
lib,
buildNimPackage,
fetchFromGitea,
fetchFromGitHub,
boost,
nix,
pkg-config,
}: }:
let let
nix' = nix.overrideAttrs (final: prev: { nix' = nix.overrideAttrs (
src = fetchFromGitHub { final: prev: {
owner = "NixOS"; src = fetchFromGitHub {
repo = "nix"; owner = "NixOS";
rev = "2.13.3"; repo = "nix";
hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc="; rev = "2.13.3";
}; hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc=";
}); };
in buildNimPackage rec { }
);
in
buildNimPackage rec {
pname = "nix_actor"; pname = "nix_actor";
version = "20231009"; version = "20231009";
@ -25,7 +35,10 @@ in buildNimPackage rec {
lockFile = "${src}/lock.json"; lockFile = "${src}/lock.json";
propagatedNativeBuildInputs = [ pkg-config ]; propagatedNativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ boost nix' ]; propagatedBuildInputs = [
boost
nix'
];
meta = src.meta // { meta = src.meta // {
maintainers = [ lib.maintainers.ehmry ]; maintainers = [ lib.maintainers.ehmry ];

View File

@ -1,9 +1,17 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook }: {
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "noise-c"; pname = "noise-c";
version = "20230309"; version = "20230309";
outputs = [ "bin" "out" ]; outputs = [
"bin"
"out"
];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rweather"; owner = "rweather";
repo = pname; repo = pname;

View File

@ -1,4 +1,10 @@
{ lib, buildPythonPackage, fetchPypi, python, setuptools-scm }: {
lib,
buildPythonPackage,
fetchPypi,
python,
setuptools-scm,
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "preserves"; pname = "preserves";

View File

@ -1,4 +1,9 @@
{ lib, rustPlatform, rustc, fetchCrate }: {
lib,
rustPlatform,
rustc,
fetchCrate,
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "preserves-tool"; pname = "preserves-tool";

View File

@ -1,4 +1,10 @@
{ lib, buildNimPackage, fetchFromGitea, pkg-config, sqlcipher }: {
lib,
buildNimPackage,
fetchFromGitea,
pkg-config,
sqlcipher,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "sqlite_actor"; pname = "sqlite_actor";

View File

@ -1,11 +1,27 @@
{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper, unzip, alsa-lib, libGL {
, libpulseaudio, libuuid, nas, openssl, pango, sndio, xorg }: lib,
stdenv,
fetchurl,
autoPatchelfHook,
makeWrapper,
unzip,
alsa-lib,
libGL,
libpulseaudio,
libuuid,
nas,
openssl,
pango,
sndio,
xorg,
}:
let let
versionA = "6.0"; versionA = "6.0";
versionB = "22104"; versionB = "22104";
versionC = "202206021410"; versionC = "202206021410";
bits = with stdenv.hostPlatform; bits =
with stdenv.hostPlatform;
if is32bit then if is32bit then
"32" "32"
else if is64bit then else if is64bit then
@ -14,23 +30,26 @@ let
throw "too many addressing bits"; throw "too many addressing bits";
sources = { sources = {
i686-linux = fetchurl { i686-linux = fetchurl {
url = url = "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz";
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz";
sha256 = "sha256-6o9GCeNsHV+OhHBUCqBmslgUEBrS3XPwsl/p8zgfJQs="; sha256 = "sha256-6o9GCeNsHV+OhHBUCqBmslgUEBrS3XPwsl/p8zgfJQs=";
}; };
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = url = "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz";
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz";
sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g="; sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g=";
}; };
}; };
in stdenv.mkDerivation rec { in
stdenv.mkDerivation rec {
pname = "squeak"; pname = "squeak";
version = "${versionA}-${versionB}-${versionC}"; version = "${versionA}-${versionB}-${versionC}";
src = sources.${stdenv.system}; src = sources.${stdenv.system};
nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ]; nativeBuildInputs = [
autoPatchelfHook
makeWrapper
unzip
];
buildInputs = with xorg; [ buildInputs = with xorg; [
alsa-lib alsa-lib
@ -54,9 +73,7 @@ in stdenv.mkDerivation rec {
cp -a bin $out/lib cp -a bin $out/lib
cp -a shared/* $out/lib cp -a shared/* $out/lib
makeWrapper $out/lib/squeak $out/bin/squeak \ makeWrapper $out/lib/squeak $out/bin/squeak \
--prefix LD_LIBRARY_PATH ":" "$out/lib:${ --prefix LD_LIBRARY_PATH ":" "$out/lib:${lib.makeLibraryPath [ openssl ]}" \
lib.makeLibraryPath [ openssl ]
}" \
--set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image --set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image
''; '';
@ -67,7 +84,10 @@ in stdenv.mkDerivation rec {
meta = { meta = {
description = "Squeak virtual machine and image"; description = "Squeak virtual machine and image";
homepage = "https://squeak.org/"; homepage = "https://squeak.org/";
license = with lib.licenses; [ asl20 mit ]; license = with lib.licenses; [
asl20
mit
];
maintainers = with lib.maintainers; [ ehmry ]; maintainers = with lib.maintainers; [ ehmry ];
platforms = builtins.attrNames sources; platforms = builtins.attrNames sources;
}; };

View File

@ -1,4 +1,8 @@
{ lib, buildPythonApplication, fetchFromGitHub }: {
lib,
buildPythonApplication,
fetchFromGitHub,
}:
buildPythonApplication rec { buildPythonApplication rec {
pname = "squeaker"; pname = "squeaker";

View File

@ -1,4 +1,10 @@
{ lib, buildPythonPackage, fetchPypi, setuptools-scm, preserves, websockets {
lib,
buildPythonPackage,
fetchPypi,
setuptools-scm,
preserves,
websockets,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -11,7 +17,10 @@ buildPythonPackage rec {
}; };
buildInputs = [ setuptools-scm ]; buildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ preserves websockets ]; propagatedBuildInputs = [
preserves
websockets
];
meta = src.meta // { meta = src.meta // {
description = "Syndicated Actor model for Python"; description = "Syndicated Actor model for Python";

View File

@ -1,6 +1,13 @@
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/syndicate-server/APKBUILD # https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/syndicate-server/APKBUILD
{ lib, rustPlatform, rust, fetchFromGitea, pkg-config, openssl }: {
lib,
rustPlatform,
rust,
fetchFromGitea,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "syndicate-server"; pname = "syndicate-server";
@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-jyZlio+wo9YiaiIKCl6YC9Bym89fqUkJOqhBb0Nu/zQ="; sha256 = "sha256-jyZlio+wo9YiaiIKCl6YC9Bym89fqUkJOqhBb0Nu/zQ=";
}; };
cargoHash = "sha256-WMX1GPU9GyXNP5qng6PGX++5PLvdViECTr8KPNkF4ps="; cargoHash = "sha256-WMX1GPU9GyXNP5qng6PGX++5PLvdViECTr8KPNkF4ps=";
nativeBuildInputs = [ rust pkg-config ]; nativeBuildInputs = [
rust
pkg-config
];
buildInputs = [ openssl ]; buildInputs = [ openssl ];
meta = { meta = {

View File

@ -1,6 +1,14 @@
{ lib, buildNimPackage, fetchFromGitea, pkg-config {
lib,
buildNimPackage,
fetchFromGitea,
pkg-config,
, postgresql, sqlite, libxml2, libxslt }: postgresql,
sqlite,
libxml2,
libxslt,
}:
let let
version = "20240407"; version = "20240407";
@ -11,13 +19,24 @@ let
rev = version; rev = version;
hash = "sha256-MFoN/2+fOsnJ9fX+5Adj7BDhBcbvh/bIOMnj9vIoq9A="; hash = "sha256-MFoN/2+fOsnJ9fX+5Adj7BDhBcbvh/bIOMnj9vIoq9A=";
}; };
in buildNimPackage (finalAttrs: in
{ buildInputs ? [ ], ... }: { buildNimPackage (
finalAttrs:
{
buildInputs ? [ ],
...
}:
{
pname = "syndicate_utils"; pname = "syndicate_utils";
inherit version src; inherit version src;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = buildInputs ++ [ postgresql sqlite libxml2 libxslt ]; buildInputs = buildInputs ++ [
postgresql
sqlite
libxml2
libxslt
];
lockFile = "${src}/lock.json"; lockFile = "${src}/lock.json";
@ -27,4 +46,5 @@ in buildNimPackage (finalAttrs:
maintainers = [ lib.maintainers.ehmry ]; maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense; license = lib.licenses.unlicense;
}; };
}) }
)

View File

@ -1,4 +1,11 @@
{ lib, buildNimPackage, fetchFromGitea, makeDesktopItem, pkg-config, pcre }: {
lib,
buildNimPackage,
fetchFromGitea,
makeDesktopItem,
pkg-config,
pcre,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "syndicated-open"; pname = "syndicated-open";

View File

@ -1,51 +1,54 @@
{ lib, python3Packages, fetchFromGitea }: {
lib,
python3Packages,
fetchFromGitea,
}:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "synit-python-daemons"; pname = "synit-python-daemons";
version = "2023-11-01"; version = "2023-11-01";
format = "other"; format = "other";
src = fetchFromGitea { src = fetchFromGitea {
domain = "git.syndicate-lang.org"; domain = "git.syndicate-lang.org";
owner = "synit"; owner = "synit";
repo = "synit"; repo = "synit";
rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd"; rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd";
hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM="; hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM=";
}; };
sourceRoot = sourceRoot = "${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon";
"${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon";
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
pyroute2 pyroute2
syndicate-py syndicate-py
]; ];
postPatch = '' postPatch = ''
for f in *.py; do for f in *.py; do
substituteInPlace $f --replace \ substituteInPlace $f --replace \
"/home/tonyg/src/synit/protocols" \ "/home/tonyg/src/synit/protocols" \
"$out/share/syndicate-protocols" "$out/share/syndicate-protocols"
done done
''; '';
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
for f in *.py; do for f in *.py; do
sed -i '1i #!/bin/python' $f sed -i '1i #!/bin/python' $f
done done
runHook postBuild runHook postBuild
''; '';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
for f in *.py; do for f in *.py; do
bin_name=$f bin_name=$f
bin_name=''${bin_name/.py} bin_name=''${bin_name/.py}
bin_name=''${bin_name//_/-} bin_name=''${bin_name//_/-}
install --mode 0555 -D $f $out/bin/$bin_name install --mode 0555 -D $f $out/bin/$bin_name
done done
install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin
runHook postInstall runHook postInstall
''; '';
} }

View File

@ -1,6 +1,11 @@
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/synit-pid1/APKBUILD # https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/synit-pid1/APKBUILD
{ lib, rustPlatform, rustc, fetchFromGitea }: {
lib,
rustPlatform,
rustc,
fetchFromGitea,
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "synit-pid1"; pname = "synit-pid1";

View File

@ -1,4 +1,11 @@
{ lib, buildNimPackage, fetchFromGitea, pkg-config, syndicate, xapian }: {
lib,
buildNimPackage,
fetchFromGitea,
pkg-config,
syndicate,
xapian,
}:
buildNimPackage rec { buildNimPackage rec {
pname = "xapian_actor"; pname = "xapian_actor";
@ -13,7 +20,10 @@ buildNimPackage rec {
}; };
propagatedNativeBuildInputs = [ pkg-config ]; propagatedNativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ syndicate xapian ]; propagatedBuildInputs = [
syndicate
xapian
];
meta = src.meta // { meta = src.meta // {
maintainers = [ lib.maintainers.ehmry ]; maintainers = [ lib.maintainers.ehmry ];