[packages/duktape] new

atler atler at pld-linux.org
Sat Apr 17 19:10:46 CEST 2021


commit e0e189f8dc2755885769957df4c5231e169d63a5
Author: Jan Palus <atler at pld-linux.org>
Date:   Sat Apr 17 19:09:08 2021 +0200

    new

 duktape-build.patch | 56 ++++++++++++++++++++++++++++++++++
 duktape.spec        | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 143 insertions(+)
---
diff --git a/duktape.spec b/duktape.spec
new file mode 100644
index 0000000..7504fa7
--- /dev/null
+++ b/duktape.spec
@@ -0,0 +1,87 @@
+Summary:	Embeddable Javascript engine with a focus on portability and compact footprint
+Name:		duktape
+Version:	2.6.0
+Release:	1
+License:	MIT
+Group:		Libraries
+Source0:	https://duktape.org/%{name}-%{version}.tar.xz
+# Source0-md5:	01ee8ecf3dd5c6504543c8679661bb20
+Patch0:		%{name}-build.patch
+URL:		https://duktape.org/
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	xz
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+
+%description
+Duktape is an embeddable Javascript engine, with a focus on
+portability and compact footprint.
+
+Main features:
+- Embeddable, portable, compact
+- ECMAScript E5/E5.1 compliant, with some semantics updated from
+  ES2015+
+- Partial support for ECMAScript 2015 (E6) and ECMAScript 2016 (E7),
+  Post-ES5 feature status, kangax/compat-table
+- ES2015 TypedArray and Node.js Buffer bindings
+- WHATWG Encoding API living standard
+- Built-in debugger
+- Built-in regular expression engine
+- Built-in Unicode support
+- Minimal platform dependencies
+- Combined reference counting and mark-and-sweep garbage collection
+  with finalization
+- Custom features like coroutines
+- Property virtualization using a subset of ECMAScript ES2015 Proxy
+  object
+- Bytecode dump/load for caching compiled functions
+- Distributable includes an optional logging framework, CommonJS-based
+  module loading implementations, CBOR bindings, etc
+
+
+%package devel
+Summary:	Header files for %{name} library
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+Header files for %{name} library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki %{name}.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+%{__make} -f Makefile.sharedlibrary \
+	CC="%{__cc}" \
+	CFLAGS="%{rpmcppflags} %{rpmcflags}" \
+	LDFLAGS="%{rpmldflags}"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -f Makefile.sharedlibrary install \
+	DESTDIR=$RPM_BUILD_ROOT \
+	LIBDIR=%{_libdir} \
+	INCLUDEDIR=%{_includedir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS.rst README.rst
+%attr(755,root,root) %{_libdir}/libduktape.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libduktape.so.206
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libduktape.so
+%{_includedir}/duk_config.h
+%{_includedir}/duktape.h
diff --git a/duktape-build.patch b/duktape-build.patch
new file mode 100644
index 0000000..ac00cd2
--- /dev/null
+++ b/duktape-build.patch
@@ -0,0 +1,56 @@
+--- duktape-2.6.0/Makefile.sharedlibrary.orig	2020-10-13 00:23:10.000000000 +0200
++++ duktape-2.6.0/Makefile.sharedlibrary	2021-04-17 18:50:26.613861274 +0200
+@@ -46,6 +46,8 @@
+ 
+ # Change to actual path for actual distribution packaging.
+ INSTALL_PREFIX = /usr/local
++LIBDIR = $(INSTALL_PREFIX)/lib
++INCLUDEDIR = $(INSTALL_PREFIX)/include
+ 
+ # The 'noline' variant may be more appropriate for some distributions; it
+ # doesn't have #line directives in the combined source.
+@@ -55,15 +57,15 @@
+ CC = gcc
+ 
+ .PHONY: all
+-all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX)
++all: libduktape.$(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) -shared -fPIC -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
+-		-o $@ $(DUKTAPE_SRCDIR)/duktape.c
++	$(CC) -shared -fPIC -Wall -Wextra -Os $(CFLAGS) $(LDFLAGS) -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
++		-o $@ $(DUKTAPE_SRCDIR)/duktape.c -lm
+ 
+ libduktaped.$(SO_REALNAME_SUFFIX):
+ 	$(CC) -shared -fPIC -g -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \
+@@ -71,17 +73,14 @@
+ 
+ # Symlinks depend on platform conventions.
+ .PHONY: install
+-install: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX)
+-	mkdir -p $(INSTALL_PREFIX)/lib/
+-	cp $+ $(INSTALL_PREFIX)/lib/
+-	rm -f $(INSTALL_PREFIX)/lib/libduktape.so $(INSTALL_PREFIX)/lib/libduktape.$(SO_SONAME_SUFFIX)
+-	ln -s libduktape.$(SO_REALNAME_SUFFIX) $(INSTALL_PREFIX)/lib/libduktape.so
+-	ln -s libduktape.$(SO_REALNAME_SUFFIX) $(INSTALL_PREFIX)/lib/libduktape.$(SO_SONAME_SUFFIX)
+-	rm -f $(INSTALL_PREFIX)/lib/libduktaped.so $(INSTALL_PREFIX)/lib/libduktaped.$(SO_SONAME_SUFFIX)
+-	ln -s libduktaped.$(SO_REALNAME_SUFFIX) $(INSTALL_PREFIX)/lib/libduktaped.so
+-	ln -s libduktaped.$(SO_REALNAME_SUFFIX) $(INSTALL_PREFIX)/lib/libduktaped.$(SO_SONAME_SUFFIX)
+-	mkdir -p $(INSTALL_PREFIX)/include/
+-	cp $(DUKTAPE_SRCDIR)/duktape.h $(DUKTAPE_SRCDIR)/duk_config.h $(INSTALL_PREFIX)/include/
++install: libduktape.$(SO_REALNAME_SUFFIX)
++	mkdir -p $(DESTDIR)$(LIBDIR)
++	cp $+ $(DESTDIR)$(LIBDIR)
++	rm -f $(DESTDIR)$(LIBDIR)/libduktape.so $(DESTDIR)$(LIBDIR)/libduktape.$(SO_SONAME_SUFFIX)
++	ln -s libduktape.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(LIBDIR)/libduktape.so
++	ln -s libduktape.$(SO_REALNAME_SUFFIX) $(DESTDIR)$(LIBDIR)/libduktape.$(SO_SONAME_SUFFIX)
++	mkdir -p $(DESTDIR)$(INCLUDEDIR)
++	cp $(DUKTAPE_SRCDIR)/duktape.h $(DUKTAPE_SRCDIR)/duk_config.h $(DESTDIR)$(INCLUDEDIR)
+ 
+ CCOPTS = -I./examples/cmdline
+ duk:
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/duktape.git/commitdiff/e0e189f8dc2755885769957df4c5231e169d63a5



More information about the pld-cvs-commit mailing list