diff --git a/pisi-index.xml b/pisi-index.xml index baf547e6..e28094c7 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -15095,7 +15095,7 @@ glib2 libgcc expat - duktape + duktape /etc @@ -18712,6 +18712,62 @@ + + + duktape + https://duktape.org/ + + Pisi Linux Admins + admin@pisilinux.org + + MIT + library + system.base + Embeddable Javascript engine + Embeddable Javascript engine + Embeddable Javascript engine + Embeddable Javascript engine + https://duktape.org/duktape-2.6.0.tar.xz + + Makefile + + + duktape-build.patch + + system/base/duktape/pspec.xml + + + duktape + + /usr/lib + /usr/share + /usr/share/doc + + + duktape.pc + + + + duktape-devel + Development files for duktape + + duktape + + + /usr/include + /usr/lib/pkgconfig + + + + + 2021-04-20 + 2.6.0 + First release + Pisi Linux Admins + admin@pisilinux.org + + + ca-certificates diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index c65db8aa..a0df948e 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -d25276e4213d7fa25bfb5202ab8be11cedd5779c \ No newline at end of file +804cda601c89d56db758275d953dc1b28591a728 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index b245b20a..94c88022 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 109b9101..dd94a7cb 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -09cb4e5d13a68ccd8b86e9b011ee6eaa7c5c5f77 \ No newline at end of file +285d2239a389e15df9ad69f57a97f44def37fac4 \ No newline at end of file diff --git a/system/base/duktape/actions.py b/system/base/duktape/actions.py new file mode 100644 index 00000000..191e1805 --- /dev/null +++ b/system/base/duktape/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +#def setup(): + #shelltools.copy("Makefile.sharedlibrary", "Makefile") + #pisitools.dosed("Makefile", "INSTALL_PREFIX = /usr/local", "INSTALL_PREFIX = /usr") + #pisitools.dosed("Makefile.sharedlibrary", "INSTALL_PREFIX = /usr/local", "INSTALL_PREFIX = /usr") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS*", "LICENSE*", "README*") diff --git a/system/base/duktape/files/Makefile b/system/base/duktape/files/Makefile new file mode 100644 index 00000000..4410b672 --- /dev/null +++ b/system/base/duktape/files/Makefile @@ -0,0 +1,89 @@ +# +# Example of how to build and install locally as a shared library +# +# Usage: +# +# $ make -f Makefile.sharedlibrary +# $ sudo make -f Makefile.sharedlibrary install +# $ make -f Makefile.sharedlibrary duk # --> example 'duk' linked to shared libduktape +# +# $ ls -l duk +# -rwxrwxr-x 1 duktape duktape 19407 Nov 30 15:48 duk +# +# $ ldd ./duk +# linux-vdso.so.1 => (0x00007ffd5ed3c000) +# libduktape.so.104 => /usr/local/lib/libduktape.so.104 (0x00007fb2f9753000) +# libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb2f944d000) +# libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb2f9088000) +# /lib64/ld-linux-x86-64.so.2 (0x00007fb2f9991000) +# +# Based on: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html + +# Soname version must be bumped whenever a binary compatibility change occurs +# (and should not be bumped when the library is compatible). A simple Duktape +# convention is to set soname version to (100*MAJOR + MINOR), e.g. 104 for +# Duktape 1.4.x, so that it gets automatically bumped for major and minor +# releases (potentially binary incompatible), but not for patch releases. +DUK_VERSION = 20600 +SONAME_VERSION = 206 +REAL_VERSION = $(SONAME_VERSION).$(DUK_VERSION) + +# Mac has an unusual .so naming convention +ifeq ($(OS),Windows_NT) + DETECTED_OS := Windows +else + DETECTED_OS := $(shell uname -s) +endif +ifeq ($(DETECTED_OS),Darwin) + LD_SONAME_ARG=-install_name + SO_SONAME_SUFFIX=$(SONAME_VERSION).so + SO_REALNAME_SUFFIX=$(REAL_VERSION).so +else + LD_SONAME_ARG=-soname + SO_SONAME_SUFFIX=so.$(SONAME_VERSION) + SO_REALNAME_SUFFIX=so.$(REAL_VERSION) +endif + +# Change to actual path for actual distribution packaging. +INSTALL_PREFIX = /usr + +# The 'noline' variant may be more appropriate for some distributions; it +# doesn't have #line directives in the combined source. +DUKTAPE_SRCDIR = ./src +#DUKTAPE_SRCDIR = ./src-noline + +CC = gcc +LIBS = -lm + +.PHONY: all +all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) + +# If the default duk_config.h is not suitable for the distribution, modify it +# before compiling the shared library and copy the same, edited duk_config.h +# to $INSTALL_PREFIX/include on installation. + +libduktape.$(SO_REALNAME_SUFFIX): + $(CC) $(CFLAGS) -shared -fPIC -Wall -Wextra -Os $(LDFLAGS) -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c $(LIBS) + +libduktaped.$(SO_REALNAME_SUFFIX): + $(CC) $(CFLAGS) -shared -fPIC -Wall -Wextra -Os $(LDFLAGS) -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c $(LIBS) + +# Symlinks depend on platform conventions. +.PHONY: install +install: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) + mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/lib/ + cp $+ $(DESTDIR)$(INSTALL_PREFIX)/lib/ + rm -f $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktape.so $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktape.$(SO_SONAME_SUFFIX) + ln -s libduktape.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktape.so + ln -s libduktape.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktape.$(SO_SONAME_SUFFIX) + rm -f $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktaped.so $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktaped.$(SO_SONAME_SUFFIX) + ln -s libduktaped.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktaped.so + ln -s libduktaped.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(INSTALL_PREFIX)/lib/libduktaped.$(SO_SONAME_SUFFIX) + mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/include/ + cp $(DUKTAPE_SRCDIR)/duktape.h $(DUKTAPE_SRCDIR)/duk_config.h $(DESTDIR)$(INSTALL_PREFIX)/include/ + +CCOPTS = -I./examples/cmdline +duk: + $(CC) $(CCOPTS) -I$(DESTDIR)$(INSTALL_PREFIX)/include -L$(DESTDIR)$(INSTALL_PREFIX)/lib -Wall -Wextra -Os -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm diff --git a/system/base/duktape/files/duktape-build.patch b/system/base/duktape/files/duktape-build.patch new file mode 100644 index 00000000..30278928 --- /dev/null +++ b/system/base/duktape/files/duktape-build.patch @@ -0,0 +1,29 @@ +diff --git a/Makefile.sharedlibrary b/Makefile.sharedlibrary +index 2c98de9..452edca 100644 +--- a/Makefile.sharedlibrary ++++ b/Makefile.sharedlibrary +@@ -53,6 +53,7 @@ DUKTAPE_SRCDIR = ./src + #DUKTAPE_SRCDIR = ./src-noline + + CC = gcc ++LIBS = -lm + + .PHONY: all + all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) +@@ -62,12 +63,12 @@ all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) + # to $INSTALL_PREFIX/include on installation. + + libduktape.$(SO_REALNAME_SUFFIX): +- $(CC) -shared -fPIC -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ +- -o $@ $(DUKTAPE_SRCDIR)/duktape.c ++ $(CC) $(CFLAGS) -shared -fPIC -Wall -Wextra -Os $(LDFLAGS) -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ ++ -o $@ $(DUKTAPE_SRCDIR)/duktape.c $(LIBS) + + libduktaped.$(SO_REALNAME_SUFFIX): +- $(CC) -shared -fPIC -g -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ +- -o $@ $(DUKTAPE_SRCDIR)/duktape.c ++ $(CC) $(CFLAGS) -shared -fPIC -Wall -Wextra -Os $(LDFLAGS) -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ ++ -o $@ $(DUKTAPE_SRCDIR)/duktape.c $(LIBS) + + # Symlinks depend on platform conventions. + .PHONY: install diff --git a/system/base/duktape/files/duktape.pc b/system/base/duktape/files/duktape.pc new file mode 100644 index 00000000..936ff933 --- /dev/null +++ b/system/base/duktape/files/duktape.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: duktape +Description: Embeddable Javascript engine +Version: 2.6.0 +Libs: -L${libdir} -lduktape +Cflags: -I${includedir} diff --git a/system/base/duktape/files/duktape.pc.in b/system/base/duktape/files/duktape.pc.in new file mode 100644 index 00000000..757c2cf6 --- /dev/null +++ b/system/base/duktape/files/duktape.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=${exec_prefix}/@libdir@ +includedir=${prefix}/include + +Name: duktape +Description: Embeddable Javascript engine +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lduktape +Cflags: -I${includedir}/ diff --git a/system/base/duktape/pspec.xml b/system/base/duktape/pspec.xml new file mode 100644 index 00000000..6433f696 --- /dev/null +++ b/system/base/duktape/pspec.xml @@ -0,0 +1,62 @@ + + + + + duktape + https://duktape.org/ + + Pisi Linux Admins + admin@pisilinux.org + + MIT + library + Embeddable Javascript engine + Embeddable Javascript engine + https://duktape.org/duktape-2.6.0.tar.xz + + Makefile + + + + + + duktape-build.patch + + + + + duktape + + + + /usr/lib + /usr/share + /usr/share/doc + + + duktape.pc + + + + + duktape-devel + Development files for duktape + + duktape + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2021-04-20 + 2.6.0 + First release + Pisi Linux Admins + admin@pisilinux.org + + + diff --git a/system/base/duktape/translations.xml b/system/base/duktape/translations.xml new file mode 100644 index 00000000..fc83cdcd --- /dev/null +++ b/system/base/duktape/translations.xml @@ -0,0 +1,8 @@ + + + + duktape + Embeddable Javascript engine + Embeddable Javascript engine + +