summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/lua.scm3
-rw-r--r--gnu/packages/patches/lua51-pkgconfig.patch101
3 files changed, 104 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 69e516cea3..12578cad64 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -660,6 +660,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/lua-CVE-2014-5461.patch                      \
   %D%/packages/patches/lua-pkgconfig.patch                      \
   %D%/packages/patches/lua51-liblua-so.patch                    \
+  %D%/packages/patches/lua51-pkgconfig.patch                    \
   %D%/packages/patches/lua52-liblua-so.patch                    \
   %D%/packages/patches/luajit-no_ldconfig.patch			\
   %D%/packages/patches/luajit-symlinks.patch			\
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 8bd67c594d..274330fd3d 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -84,7 +84,8 @@ for configuration, scripting, and rapid prototyping.")
              (sha256
               (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
              (patches (search-patches "lua51-liblua-so.patch"
-                                      "lua-CVE-2014-5461.patch"))))))
+                                      "lua-CVE-2014-5461.patch"
+                                      "lua51-pkgconfig.patch"))))))
 
 (define-public luajit
   (package
diff --git a/gnu/packages/patches/lua51-pkgconfig.patch b/gnu/packages/patches/lua51-pkgconfig.patch
new file mode 100644
index 0000000000..5b03adaaaa
--- /dev/null
+++ b/gnu/packages/patches/lua51-pkgconfig.patch
@@ -0,0 +1,101 @@
+Enables generating Lua's pkg-config file.
+
+http://lua-users.org/lists/lua-l/2015-03/msg00338.html
+
+--- a/Makefile	2016-08-16 19:44:27.363614964 +0200
++++ b/Makefile	2016-08-16 19:49:22.623070005 +0200
+@@ -13,6 +13,7 @@
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_PC= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ #
+ # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
+@@ -41,9 +42,12 @@
+ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
+ 
+ # What to install.
+-TO_BIN= lua luac
++INTERPRETER= lua
++COMPILER= luac
++TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+ TO_LIB= liblua.a liblua.so liblua.so.${V}
++TO_PC= lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+ 
+ # Lua version and release.
+@@ -52,17 +56,22 @@
+ 
+ all:	$(PLAT)
+ 
+-$(PLATS) clean:
++$(PLATS):
+ 	cd src && $(MAKE) $@ V=$(V) R=$(R)
+ 
++clean:
++	cd src && $(MAKE) $@
++	$(RM) $(TO_PC)
++
+ test:	dummy
+ 	src/lua test/hello.lua
+ 
+-install: dummy
+-	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++install: dummy $(TO_PC)
++	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ 	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++	cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+ 
+ ranlib:
+@@ -95,6 +104,7 @@
+ 	@echo "INSTALL_BIN = $(INSTALL_BIN)"
+ 	@echo "INSTALL_INC = $(INSTALL_INC)"
+ 	@echo "INSTALL_LIB = $(INSTALL_LIB)"
++	@echo "INSTALL_PC = $(INSTALL_PC)"
+ 	@echo "INSTALL_MAN = $(INSTALL_MAN)"
+ 	@echo "INSTALL_LMOD = $(INSTALL_LMOD)"
+ 	@echo "INSTALL_CMOD = $(INSTALL_CMOD)"
+@@ -111,6 +121,7 @@
+ 	@echo "TO_BIN = $(TO_BIN)"
+ 	@echo "TO_INC = $(TO_INC)"
+ 	@echo "TO_LIB = $(TO_LIB)"
++	@echo "TO_PC = $(TO_PC)"
+ 	@echo "TO_MAN = $(TO_MAN)"
+ 
+ # echo config parameters as Lua code
+@@ -122,7 +133,29 @@
+ 	@$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
+ 	@echo "-- EOF"
+ 
++pc:
++	@echo 'prefix=$(INSTALL_TOP)'
++	@echo 'libdir=$(INSTALL_LIB)'
++	@echo 'includedir=$(INSTALL_INC)'
++	@echo 'bindir=$(INSTALL_BIN)'
++	@echo
++	@echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
++	@echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
++	@echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
++	@echo 'COMPILER=$${bindir}/$(COMPILER)'
++	@echo
++	@echo 'Name: Lua'
++	@echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
++	@echo 'Version: $(R)'
++	@echo
++	@echo 'Libs: -L$${libdir} -llua -lm'
++	@echo 'Cflags: -I$${includedir}'
++
++pkg-config: $(TO_PC)
++$(TO_PC):
++	@$(MAKE) -s pc > $@
++
+ # list targets that do not create files (but not all makes understand .PHONY)
+-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
++.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho pkg-config
+ 
+ # (end of Makefile)