Merge branch 'master' of github.com:hectic-lab/util.nix

This commit is contained in:
2025-06-30 21:00:04 +00:00
14 changed files with 262 additions and 127 deletions

View File

@@ -1,12 +1,11 @@
{ stdenv, patchelf, gcc, lib, bash, inotify-tools }:
stdenv.mkDerivation {
pname = "hectic";
version = "1.0";
src = ./.;
doCheck = true;
nativeBuildInputs = [ gcc inotify-tools ];
nativeBuildInputs = [gcc inotify-tools];
buildPhase = ''
ls
@@ -86,4 +85,4 @@ EOF
description = "hectic";
license = lib.licenses.mit;
};
}
}

View File

@@ -1,2 +1,8 @@
<<<<<<< HEAD:package/c/hemar/.gitignore
hemar.o
hemar.so
hemar.so
=======
package/c/postgreact/postgreact.control
package/c/postgreact/postgreact.o
package/c/postgreact/postgreact.so
>>>>>>> 016db3d06ae814e0f0cc8f39cd4e5af729bb39ac:package/c/postgreact/.gitignore

View File

@@ -12,4 +12,5 @@ PG_LDFLAGS += -Wl,-rpath,$(shell $(HECTIC_CONFIG) --libdir)
SHLIB_LINK += $(shell $(HECTIC_CONFIG) --libs)
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
include $(PGXS)

View File

@@ -7,6 +7,8 @@
# --color Pass -fdiagnostics-color=always to compiler.
# help, --help Show this help message.
set -u
check_dependencies() {
for dep in gcc pg_config; do
if ! command -v "$dep" >/dev/null 2>&1; then
@@ -105,4 +107,4 @@ case "$MODE" in
print_help
exit 1
;;
esac
esac

View File

@@ -0,0 +1,12 @@
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION postgreact" to load this file. \quit
-- Define the hello function that uses our C implementation
CREATE FUNCTION hello()
RETURNS
TEXT
STRICT VOLATILE
LANGUAGE C
AS
'MODULE_PATHNAME', 'hello'
;

View File

@@ -0,0 +1,4 @@
comment = '@EXTENSION_COMMENT@'
default_version = '@EXTENSION_VERSION@'
module_pathname = '$libdir/@EXTENSION@'
relocatable = false

View File

@@ -0,0 +1,16 @@
#ifndef POSTGREACT_H
#define POSTGREACT_H
#include "postgres.h"
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
void _PG_init(void);
void _PG_fini(void);
Datum hello(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(hello);
#endif // POSTGREACT_H

View File

@@ -1,12 +1,17 @@
{ stdenv, gcc, lib, bash, c-hectic }:
{
stdenv,
gcc,
lib,
bash,
c-hectic,
}:
stdenv.mkDerivation {
pname = "prettify";
version = "1.0";
src = ./.;
doCheck = false;
nativeBuildInputs = [ gcc c-hectic ];
nativeBuildInputs = [gcc c-hectic];
buildPhase = ''
ls

View File

@@ -1,12 +1,17 @@
{ stdenv, gcc, lib, bash, gdb }:
{
stdenv,
gcc,
lib,
bash,
gdb,
}:
stdenv.mkDerivation {
pname = "watch";
version = "1.0";
src = ./.;
doCheck = false;
nativeBuildInputs = [ gcc gdb ];
nativeBuildInputs = [gcc gdb];
buildPhase = ''
${bash}/bin/sh ./make.sh build
@@ -25,4 +30,4 @@ stdenv.mkDerivation {
description = "watch";
license = lib.licenses.mit;
};
}
}

View File

@@ -16,7 +16,7 @@ in
cargoLock.lockFile = ./Cargo.lock;
buildInputs = [ postgresql_15 ];
buildInputs = [postgresql_15];
doCheck = true;
}

View File

@@ -0,0 +1,78 @@
{
fetchFromGitHub,
pkgs,
...
}: let
aiogram-newsletter = pkgs.python3Packages.buildPythonPackage {
pname = "example-package";
version = "0.0.10";
src = fetchFromGitHub {
owner = "nessshon";
repo = "aiogram-newsletter";
rev = "bb8a42e4bcff66a9a606fc92ccc27b1d094b20fc";
sha256 = "sha256-atKhccp8Pr8anJUo+M9hnYkYrcgnB9SxrpmsiVusJZs=";
};
propagatedBuildInputs = [ ];
meta = {
description = "";
};
};
in pkgs.python3Packages.buildPythonPackage {
pname = "support-bot";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "nessshon";
repo = "support-bot";
rev = "9191d9a9ba6bfd81e267b6ca41836db037555976";
sha256 = "sha256-94/cGN0OMytrQB66B2WA44bRaz+qXI627C/oE9iFgNU=";
};
postPatch = ''
cat > setup.py <<'EOF1'
from setuptools import setup
setup(
name="support-bot",
version="1.0.0",
install_requires=[
"aiogram==3.7.0",
"aiogram-newsletter>=0.0.10",
"cachetools==5.3.2",
"environs==10.3.0",
"pydantic==2.5.3",
"redis==5.0.1",
"apscheduler",
],
entry_points={
"console_scripts": [
"support-bot=app.entry_point:main",
],
},
)
EOF1
cat > app/entry_point.py <<'EOF2'
def main():
import asyncio
from .__main__ import main
asyncio.run(main())
EOF2
'';
propagatedBuildInputs = (with pkgs.python3Packages; [
aiogram
apscheduler
cachetools
environs
pydantic
redis
]) ++ [ aiogram-newsletter ];
meta = {
description = "A support bot for GitHub";
homepage = "https://github.com/nessshon/support-bot";
};
}