From 711ccb63f84a5c145ccf32f82a04212ba8bc9aca Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Sat, 12 Apr 2025 00:42:12 +0300 Subject: [PATCH 1/5] guile-irregex: init at 0.9.11 --- pkgs/by-name/gu/guile-irregex/package.nix | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pkgs/by-name/gu/guile-irregex/package.nix diff --git a/pkgs/by-name/gu/guile-irregex/package.nix b/pkgs/by-name/gu/guile-irregex/package.nix new file mode 100644 index 000000000000..f1c37470c3cd --- /dev/null +++ b/pkgs/by-name/gu/guile-irregex/package.nix @@ -0,0 +1,66 @@ +{ + stdenv, + fetchzip, + mitscheme, + guile, + lib, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "guile-irregex"; + version = "0.9.11"; + + src = fetchzip { + url = "https://synthcode.com/scheme/irregex/irregex-${finalAttrs.version}.tar.gz"; + hash = "sha256-abBCMNsr6GTBOm+eQWuOX8JYx/qMA/V6TwGdYRjznWU="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + guile + mitscheme + ]; + + buildInputs = [ + guile + ]; + + env.GUILE_AUTO_COMPILE = "0"; + + buildPhase = '' + runHook preBuild + + site_dir="$out/share/guile/site/3.0" + lib_dir="$out/lib/guile/3.0/site-ccache" + + mkdir -p $site_dir/rx/source + mkdir -p $lib_dir/rx/source + + cp $src/irregex-guile.scm $site_dir/rx/irregex.scm + cp $src/irregex.scm $site_dir/rx/source/irregex.scm + cp $src/irregex-utils.scm $site_dir/rx/source/irregex-utils.scm + guild compile --r7rs $site_dir/rx/irregex.scm -o $lib_dir/rx/irregex.go + guild compile --r7rs $site_dir/rx/source/irregex.scm -o $lib_dir/rx/source/irregex.go + + runHook postBuild + ''; + + dontInstall = true; + + meta = { + description = "IrRegular Expressions"; + longDescription = '' + A fully portable and efficient R[4567]RS implementation of regular expressions, supporting + both POSIX syntax with various (irregular) PCRE extensions, as well as SCSH's SRE syntax, with + various aliases for commonly used patterns. DFA matching is used when possible, otherwise a + closure-compiled NFA approach is used. The library makes no assumptions about the encoding of + strings or range of characters and can thus be used in Unicode-aware Scheme implementations. + Matching may be performed over standard Scheme strings, or over arbitrarily chunked streams of + strings. + ''; + homepage = "https://synthcode.com/scheme/irregex"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ knightpp ]; + platforms = guile.meta.platforms; + }; +}) From 61aebef93f175e1ace121f9f1af4fa92f0ae3a82 Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Mon, 21 Apr 2025 23:48:34 +0300 Subject: [PATCH 2/5] guile-json-rpc: init at 0.4.5a --- pkgs/by-name/gu/guile-json-rpc/package.nix | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/gu/guile-json-rpc/package.nix diff --git a/pkgs/by-name/gu/guile-json-rpc/package.nix b/pkgs/by-name/gu/guile-json-rpc/package.nix new file mode 100644 index 000000000000..3879ef48e371 --- /dev/null +++ b/pkgs/by-name/gu/guile-json-rpc/package.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenv, + fetchFromGitea, + guile, + pkg-config, + guile-srfi-145, + guile-srfi-180, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "guile-json-rpc"; + version = "0.4.5a"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "rgherdt"; + repo = "scheme-json-rpc"; + tag = finalAttrs.version; + hash = "sha256-sTJxPxHKovMOxfu5jM/6EpB9RFpG+9E3388xeE2Fpgw="; + }; + + strictDeps = true; + + propagatedBuildInputs = [ + guile-srfi-145 + guile-srfi-180 + ]; + + nativeBuildInputs = [ + pkg-config + guile + ]; + + buildInputs = [ + guile + ]; + + env.GUILE_AUTO_COMPILE = "0"; + + preConfigure = '' + cd guile + ''; + + meta = { + description = "A JSON-RPC implementation for Scheme"; + homepage = "https://codeberg.org/rgherdt/scheme-json-rpc"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ knightpp ]; + platforms = guile.meta.platforms; + }; +}) From 0411fb2bb9429a9079d5bd59304b928d135e14f3 Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Mon, 21 Apr 2025 23:48:54 +0300 Subject: [PATCH 3/5] guile-srfi-145: init at unstable-2023-06-04 --- pkgs/by-name/gu/guile-srfi-145/package.nix | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 pkgs/by-name/gu/guile-srfi-145/package.nix diff --git a/pkgs/by-name/gu/guile-srfi-145/package.nix b/pkgs/by-name/gu/guile-srfi-145/package.nix new file mode 100644 index 000000000000..c3c57783d6cb --- /dev/null +++ b/pkgs/by-name/gu/guile-srfi-145/package.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + fetchFromGitea, + guile, + guile-irregex, +}: +stdenv.mkDerivation { + pname = "guile-srfi-145"; + version = "0-unstable-2023-06-04"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "rgherdt"; + repo = "srfi"; + rev = "e598c28eb78e9c3e44f5c3c3d997ef28abb6f32e"; + hash = "sha256-kvM2v/nDou0zee4+qcO5yN2vXt2y3RUnmKA5S9iKFE0="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + guile + ]; + + buildInputs = [ + guile + ]; + + propagatedBuildInputs = [ + guile-irregex + ]; + + preConfigure = '' + export GUILE_AUTO_COMPILE=0 + ''; + + buildPhase = '' + runHook preBuild + + site_dir="$out/share/guile/site/3.0" + lib_dir="$out/lib/guile/3.0/site-ccache" + + export GUILE_LOAD_PATH=.:$site_dir:...:$GUILE_LOAD_PATH + export GUILE_LOAD_COMPILED_PATH=.:$lib_dir:...:$GUILE_LOAD_COMPILED_PATH + + mkdir -p $site_dir/srfi + cp $src/srfi/srfi-145.scm $site_dir/srfi/ + guild compile --r7rs $site_dir/srfi/srfi-145.scm -o $lib_dir/srfi/srfi-145.go + + runHook postBuild + ''; + + meta = { + description = "Scheme SRFI-145 implementations in portable R7RS scheme"; + homepage = "https://codeberg.org/rgherdt/srfi"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ knightpp ]; + platforms = guile.meta.platforms; + }; +} From d866ea1feb87b07641a38be7510564cc9658e94c Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Mon, 21 Apr 2025 23:49:36 +0300 Subject: [PATCH 4/5] guile-srfi-180: init at unstable-2023-06-04 --- pkgs/by-name/gu/guile-srfi-180/package.nix | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 pkgs/by-name/gu/guile-srfi-180/package.nix diff --git a/pkgs/by-name/gu/guile-srfi-180/package.nix b/pkgs/by-name/gu/guile-srfi-180/package.nix new file mode 100644 index 000000000000..fc38e935bfbf --- /dev/null +++ b/pkgs/by-name/gu/guile-srfi-180/package.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + fetchFromGitea, + guile, + guile-irregex, +}: +stdenv.mkDerivation { + pname = "guile-srfi-180"; + version = "0-unstable-2023-06-04"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "rgherdt"; + repo = "srfi"; + rev = "e598c28eb78e9c3e44f5c3c3d997ef28abb6f32e"; + hash = "sha256-kvM2v/nDou0zee4+qcO5yN2vXt2y3RUnmKA5S9iKFE0="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + guile + ]; + + buildInputs = [ + guile + ]; + + propagatedBuildInputs = [ + guile-irregex + ]; + + preConfigure = '' + export GUILE_AUTO_COMPILE=0 + ''; + + buildPhase = '' + runHook preBuild + + site_dir="$out/share/guile/site/3.0" + lib_dir="$out/lib/guile/3.0/site-ccache" + + export GUILE_LOAD_PATH=.:$site_dir:...:$GUILE_LOAD_PATH + export GUILE_LOAD_COMPILED_PATH=.:$lib_dir:...:$GUILE_LOAD_COMPILED_PATH + + mkdir -p $site_dir/srfi + cp $src/srfi/srfi-180.scm $site_dir/srfi + cp -R $src/srfi/srfi-180/ $site_dir/srfi + cp -R $src/srfi/180/ $site_dir/srfi + guild compile -x "sld" --r7rs $site_dir/srfi/srfi-180/helpers.sld -o $lib_dir/srfi/srfi-180/helpers.go + guild compile --r7rs $site_dir/srfi/srfi-180.scm -o $lib_dir/srfi/srfi-180.go + + runHook postBuild + ''; + + meta = { + description = "Scheme SRFI-180 implementations in portable R7RS scheme"; + homepage = "https://codeberg.org/rgherdt/srfi"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ knightpp ]; + platforms = guile.meta.platforms; + }; +} From e203028e40616e5d929b8f0043256cdcd6468e33 Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Mon, 21 Apr 2025 23:49:57 +0300 Subject: [PATCH 5/5] guile-lsp-server: init at 0.4.7 --- pkgs/by-name/gu/guile-lsp-server/package.nix | 67 ++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 pkgs/by-name/gu/guile-lsp-server/package.nix diff --git a/pkgs/by-name/gu/guile-lsp-server/package.nix b/pkgs/by-name/gu/guile-lsp-server/package.nix new file mode 100644 index 000000000000..26a2258ffcc6 --- /dev/null +++ b/pkgs/by-name/gu/guile-lsp-server/package.nix @@ -0,0 +1,67 @@ +{ + lib, + guile, + stdenv, + fetchFromGitea, + pkg-config, + bash, + makeWrapper, + guile-json-rpc, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "guile-lsp-server"; + version = "0.4.7"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "rgherdt"; + repo = "scheme-lsp-server"; + tag = finalAttrs.version; + hash = "sha256-XNzon1l6CnCd4RasNrHHxWEBNhyaHXgdNLsvjvRLbfk="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + pkg-config + makeWrapper + guile + ]; + + buildInputs = [ + guile + ]; + + propagatedBuildInputs = [ + guile-json-rpc + ]; + + makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; + + preConfigure = '' + cd guile + ''; + + postInstall = '' + wrapProgram $out/bin/guile-lsp-server \ + --prefix PATH : ${ + lib.makeBinPath [ + guile + bash + ] + } \ + --set GUILE_AUTO_COMPILE 0 \ + --prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \ + --prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH" \ + --argv0 $out/bin/guile-lsp-server + ''; + + meta = { + homepage = "https://codeberg.org/rgherdt/scheme-lsp-server"; + description = "An LSP server for Guile"; + mainProgram = "guile-lsp-server"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ knightpp ]; + platforms = guile.meta.platforms; + }; +})