[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