From: Jan Palus Date: Sat, 17 Apr 2021 17:09:08 +0000 (+0200) Subject: new X-Git-Tag: auto/th/duktape-2.6.0-1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=e0e189f8dc2755885769957df4c5231e169d63a5;p=packages%2Fduktape.git new --- e0e189f8dc2755885769957df4c5231e169d63a5 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: 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