gftest: init
Some checks failed
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
Some checks failed
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
This commit is contained in:
@@ -2,31 +2,28 @@
|
||||
, haskellPackages
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, gf-pgf
|
||||
, applyPatches
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.12";
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrammaticalFramework";
|
||||
repo = "gf-core";
|
||||
rev = "release-${version}";
|
||||
hash = "sha256-9sB8tt2eOJT43kv2eaUYRQCzyBZOp6HvJdgGJQgiqks=";
|
||||
src = applyPatches rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrammaticalFramework";
|
||||
repo = "gf-core";
|
||||
rev = "release-${version}";
|
||||
hash = "sha256-9sB8tt2eOJT43kv2eaUYRQCzyBZOp6HvJdgGJQgiqks=";
|
||||
};
|
||||
patches = [
|
||||
"${src}/nix/expose-all.patch"
|
||||
"${src}/nix/revert-new-cabal-madness.patch"
|
||||
./fix-cabal-syntax-error.patch
|
||||
];
|
||||
};
|
||||
pkg = haskellPackages.callCabal2nixWithOptions "gf" src "--flag=-server" {};
|
||||
gf-pgf = stdenv.mkDerivation {
|
||||
pname = "gf-pgf";
|
||||
version = "0.0.1";
|
||||
src = "${src}/src/runtime/c";
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
};
|
||||
in haskell.lib.overrideCabal pkg (prev: {
|
||||
patches = [
|
||||
"${src}/nix/expose-all.patch"
|
||||
"${src}/nix/revert-new-cabal-madness.patch"
|
||||
];
|
||||
jailbreak = true;
|
||||
configureFlags = [ "-f" "c-runtime" ];
|
||||
librarySystemDepends = [ gf-pgf ];
|
||||
passthru = { inherit gf-pgf; };
|
||||
})
|
||||
|
||||
13
pkgs/gf-core/fix-cabal-syntax-error.patch
Normal file
13
pkgs/gf-core/fix-cabal-syntax-error.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/runtime/haskell-bind/pgf2.cabal b/src/runtime/haskell-bind/pgf2.cabal
|
||||
index d7a98489e..3ca7e816c 100644
|
||||
--- a/src/runtime/haskell-bind/pgf2.cabal
|
||||
+++ b/src/runtime/haskell-bind/pgf2.cabal
|
||||
@@ -15,7 +15,7 @@ homepage: https://www.grammaticalframework.org/
|
||||
bug-reports: https://github.com/GrammaticalFramework/gf-core/issues
|
||||
author: Krasimir Angelov
|
||||
extra-source-files: CHANGELOG.md, README.md
|
||||
-tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4, GHC=9.6.6
|
||||
+tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.10.4, GHC==9.6.6
|
||||
|
||||
library
|
||||
exposed-modules:
|
||||
11
pkgs/gf-pgf/default.nix
Normal file
11
pkgs/gf-pgf/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ gf-core
|
||||
, stdenv
|
||||
, autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gf-pgf";
|
||||
inherit (gf-core) version meta;
|
||||
src = "${gf-core.src}/src/runtime/c";
|
||||
nativeBuildInputs = [autoreconfHook ];
|
||||
}
|
||||
26
pkgs/gftest/default.nix
Normal file
26
pkgs/gftest/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ gf-core
|
||||
, breakpointHook
|
||||
, fetchFromGitHub
|
||||
, compiler ? "ghc98"
|
||||
, haskell
|
||||
, pgf2-haskell
|
||||
, gf-pgf
|
||||
}:
|
||||
|
||||
let
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrammaticalFramework";
|
||||
repo = "gftest";
|
||||
rev = "ef7c99143d84a29fb28bbc464f661566d44a6130";
|
||||
hash = "sha256-t/LaG5+bdv7f0URcn/aFx6nUIvxSSEbpWeZS92/Gbog=";
|
||||
};
|
||||
hpkgs = haskell.packages.${compiler}.extend (final: prev: {
|
||||
# PGF2, the Haskell bindings to the C library.
|
||||
pgf2 = pgf2-haskell.override { inherit compiler; };
|
||||
});
|
||||
pkg = hpkgs.callCabal2nix "gftest" src {};
|
||||
in pkg.overrideAttrs (final: prev: {
|
||||
nativeBuildInputs = (prev.nativeBuildInputs or []) ++ [
|
||||
breakpointHook
|
||||
];
|
||||
})
|
||||
19
pkgs/pgf2-haskell/default.nix
Normal file
19
pkgs/pgf2-haskell/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ haskell
|
||||
, compiler ? "ghc96"
|
||||
, gf-pgf
|
||||
, gf-core
|
||||
, breakpointHook
|
||||
}:
|
||||
|
||||
let
|
||||
src = "${gf-core.src}/src/runtime/haskell-bind";
|
||||
hpkgs = haskell.packages.${compiler};
|
||||
pkg = hpkgs.callCabal2nix "pgf2" src {
|
||||
# gf-pgf provides both libpgf and libgu.
|
||||
gu = gf-pgf;
|
||||
};
|
||||
in haskell.lib.overrideCabal pkg (prev: {
|
||||
librarySystemDepends = (prev.librarySystemDepends or []) ++ [
|
||||
gf-pgf
|
||||
];
|
||||
})
|
||||
Reference in New Issue
Block a user