Add liblpeg-darwin
This commit is contained in:
parent
ff52e75cf5
commit
36f2ccd665
3 changed files with 76 additions and 0 deletions
|
@ -10,4 +10,6 @@
|
||||||
q = import ./packages/q.nix { inherit system lib pkgs; };
|
q = import ./packages/q.nix { inherit system lib pkgs; };
|
||||||
rimgo = import ./packages/rimgo.nix { inherit system lib pkgs; };
|
rimgo = import ./packages/rimgo.nix { inherit system lib pkgs; };
|
||||||
website-docs-nifoc-pw = import ./packages/website-docs-nifoc-pw.nix { inherit system lib pkgs; };
|
website-docs-nifoc-pw = import ./packages/website-docs-nifoc-pw.nix { inherit system lib pkgs; };
|
||||||
|
|
||||||
|
liblpeg-darwin = import ./packages/liblpeg-darwin.nix { inherit system lib pkgs; };
|
||||||
}
|
}
|
||||||
|
|
23
packages/liblpeg-darwin.nix
Normal file
23
packages/liblpeg-darwin.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ system, lib, pkgs }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "liblpeg";
|
||||||
|
inherit (pkgs.luajitPackages.lpeg) version src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgs.fixDarwinDylibNames ];
|
||||||
|
buildInputs = [ pkgs.luajit ];
|
||||||
|
|
||||||
|
patches = [ ../patches/liblpeg-makefile.patch ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
install -D lpeg.dylib $out/lib/lpeg.dylib
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "http://www.inf.puc-rio.br/~roberto/lpeg.html";
|
||||||
|
description = "Parsing Expression Grammars For Lua";
|
||||||
|
license.fullName = "MIT/X11";
|
||||||
|
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
|
||||||
|
};
|
||||||
|
}
|
51
patches/liblpeg-makefile.patch
Normal file
51
patches/liblpeg-makefile.patch
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
--- a/makefile 2019-03-11 15:08:29
|
||||||
|
+++ b/makefile 2023-05-03 17:12:18
|
||||||
|
@@ -1,30 +1,7 @@
|
||||||
|
+.DEFAULT_GOAL := macosx
|
||||||
|
+
|
||||||
|
LIBNAME = lpeg
|
||||||
|
-LUADIR = ../lua/
|
||||||
|
|
||||||
|
-COPT = -O2 -DNDEBUG
|
||||||
|
-# COPT = -g
|
||||||
|
-
|
||||||
|
-CWARNS = -Wall -Wextra -pedantic \
|
||||||
|
- -Waggregate-return \
|
||||||
|
- -Wcast-align \
|
||||||
|
- -Wcast-qual \
|
||||||
|
- -Wdisabled-optimization \
|
||||||
|
- -Wpointer-arith \
|
||||||
|
- -Wshadow \
|
||||||
|
- -Wsign-compare \
|
||||||
|
- -Wundef \
|
||||||
|
- -Wwrite-strings \
|
||||||
|
- -Wbad-function-cast \
|
||||||
|
- -Wdeclaration-after-statement \
|
||||||
|
- -Wmissing-prototypes \
|
||||||
|
- -Wnested-externs \
|
||||||
|
- -Wstrict-prototypes \
|
||||||
|
-# -Wunreachable-code \
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
|
||||||
|
-CC = gcc
|
||||||
|
-
|
||||||
|
FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o
|
||||||
|
|
||||||
|
# For Linux
|
||||||
|
@@ -33,11 +10,14 @@ macosx:
|
||||||
|
|
||||||
|
# For Mac OS
|
||||||
|
macosx:
|
||||||
|
- $(MAKE) lpeg.so "DLLFLAGS = -bundle -undefined dynamic_lookup"
|
||||||
|
+ $(MAKE) lpeg.dylib "DLLFLAGS = -dynamiclib -undefined dynamic_lookup"
|
||||||
|
|
||||||
|
lpeg.so: $(FILES)
|
||||||
|
env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so
|
||||||
|
|
||||||
|
+lpeg.dylib: $(FILES)
|
||||||
|
+ env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.dylib
|
||||||
|
+
|
||||||
|
$(FILES): makefile
|
||||||
|
|
||||||
|
test: test.lua re.lua lpeg.so
|
Loading…
Reference in a new issue