[CVS] RPM: rpm-5_4: rpm/ configure.ac rpm/js/ Makefile.am rpmjs45.cpp ...

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 22:11:23
  Branch: rpm-5_4  Handle: 2017071020112201

  Modified files:   (Branch: rpm-5_4)
rpm configure.ac
rpm/js  Makefile.am rpmjs45.cpp
rpm/js/src  Makefile.am
rpm/rpmio   Makefile.am rpmjss.cpp rpmjss.h

  Log:
- rpmjss: permit --without-mozjs builds (default).

  Summary:
RevisionChanges Path
2.472.2.177 +5  -1  rpm/configure.ac
1.44.2.18   +4  -20 rpm/js/Makefile.am
1.1.2.10+0  -1  rpm/js/rpmjs45.cpp
1.1.2.6 +8  -30 rpm/js/src/Makefile.am
1.293.2.106 +6  -20 rpm/rpmio/Makefile.am
1.1.2.4 +20 -11 rpm/rpmio/rpmjss.cpp
1.1.2.7 +1  -0  rpm/rpmio/rpmjss.h
  

  patch -p0 <<'@@ .'
  Index: rpm/configure.ac
  
  $ cvs diff -u -r2.472.2.176 -r2.472.2.177 configure.ac
  --- rpm/configure.ac  10 Jul 2017 09:39:54 -  2.472.2.176
  +++ rpm/configure.ac  10 Jul 2017 20:11:22 -  2.472.2.177
  @@ -3981,19 +3981,23 @@
   #AC_LANG_POP(C++)
   
   WITH_SPIDERMONKEY_SUBDIR=""
  +WITH_MOZJS_CXXFLAGS=""
   AC_LANG_PUSH(C++)
   RPM_CHECK_LIB(
   [MozJS (mozjs)], [mozjs],
   [mozjs], [_fini], [jsapi.h],
  -[no,internal:none], [js:include:extract],
  +[no,internal:none], [js:include:src],
   [
 if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
 WITH_SPIDERMONKEY_SUBDIR="js/src"
 AC_DEFINE(HAVE_JSAPI_H, 1, [Define to 1 if you have ])
  AC_DEFINE(HAVE_LIBMOZJS, 1, [Define to 1 if you have the 'mozjs' 
library (-lmozjs).])
  +  WITH_MOZJS_CXXFLAGS="-DEXPORT_JS_API -DDLL_PREFIX='\"lib\"' 
-DDLL_SUFFIX='\".so\"' -DMOZILLA_CLIENT -D'moz_xmalloc(_len)=malloc(_len)' 
-include 
\${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/js/src/js/src/js-confdefs.h 
-I\${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/js/src 
-I\${top_srcdir}/\$(WITH_MOZJS_SUBDIR)/extract/mfbt \$(WITH_MOZJS_CPPFLAGS)"
  +
 fi
   ], [])
   AC_LANG_POP(C++)
  +AC_SUBST(WITH_MOZJS_CXXFLAGS)
   AC_SUBST(WITH_SPIDERMONKEY_SUBDIR)
   
   dnl # Google V8
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/Makefile.am
  
  $ cvs diff -u -r1.44.2.17 -r1.44.2.18 Makefile.am
  --- rpm/js/Makefile.am10 Jul 2017 10:09:25 -  1.44.2.17
  +++ rpm/js/Makefile.am10 Jul 2017 20:11:22 -  1.44.2.18
  @@ -33,7 +33,7 @@
@WITH_FILE_CPPFLAGS@ \
@WITH_GPSEE_CPPFLAGS@ \
@WITH_LUA_CPPFLAGS@ \
  - @WITH_MOZJS185_CPPFLAGS@ \
  + @WITH_MOZJS_CPPFLAGS@ \
@WITH_NEON_CPPFLAGS@ \
@WITH_POPT_CPPFLAGS@ \
@WITH_SYCK_CPPFLAGS@ \
  @@ -118,25 +118,9 @@
rpmjs45shim.cpp \
rpmjs45.cpp
   #${moz_builddir}/shell/Unified_cpp_js_src_shell0.cpp
  -rpmjs45_CPPFLAGS = \
  - -DEXPORT_JS_API \
  - -DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".so"' \
  - -DMOZILLA_CLIENT \
  - -D'moz_xmalloc(_len)=malloc(_len)' \
  - -I${moz_srcdir}/mfbt \
  - -I${moz_srcdir}/js/src \
  - -I${srcdir}/include \
  - -I../rpmio \
  - -include ${moz_srcdir}/js/src/js/src/js-confdefs.h \
  - -pthread \
  - -fPIC \
  - -O3
  -#rpmjs_CXXFLAGS = \
  -#-std=gnu++0x \
  -#-fno-rtti
  -rpmjs45_LDADD = \
  - ${builddir}/src/libmozjs.la \
  - $(RPMIO_LDADD_COMMON)
  +rpmjs45_CXXFLAGS = $(WITH_MOZJS_CXXFLAGS) -I../rpmio -fPIC -O3
  +rpmjs45_LDADD = $(WITH_MOZJS_LIBS)
  +rpmjs45_LDFLAGS = $(WITH_MOZJS_LDFLAGS)
   
   foo: rpmjs45
./rpmjs45 -f rpmjss.inp
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmjs45.cpp
  
  $ cvs diff -u -r1.1.2.9 -r1.1.2.10 rpmjs45.cpp
  --- rpm/js/rpmjs45.cpp10 Jul 2017 10:09:25 -  1.1.2.9
  +++ rpm/js/rpmjs45.cpp10 Jul 2017 20:11:22 -  1.1.2.10
  @@ -543,7 +543,6 @@
   #include 
   
   /*==*/
  -#define N_(_str)(_str)
   struct poptOption rpmjssIPoptTable[] = {
 { "allow", '\0', POPT_BIT_SET,
&_jss.flags, RPMJSS_FLAGS_ALLOW,
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/src/Makefile.am
  
  $ cvs diff -u -r1.1.2.5 -r1.1.2.6 Makefile.am
  --- rpm/js/src/Makefile.am8 Jul 2017 20:32:11 -   1.1.2.5
  +++ rpm/js/src/Makefile.am10 Jul 2017 20:11:23 -  1.1.2

[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmjss.cpp

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 17:11:37
  Branch: rpm-5_4  Handle: 2017071015113700

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmjss.cpp

  Log:
- rpmjss: permit global/multiple interpreters, add _rpmjssI_init and
%_jssI_init

  Summary:
RevisionChanges Path
1.1.2.3 +15 -12 rpm/rpmio/rpmjss.cpp
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmjss.cpp
  
  $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmjss.cpp
  --- rpm/rpmio/rpmjss.cpp  10 Jul 2017 14:21:59 -  1.1.2.2
  +++ rpm/rpmio/rpmjss.cpp  10 Jul 2017 15:11:37 -  1.1.2.3
  @@ -1208,6 +1208,8 @@
   {   be += sprintf(be, "%25s: %"#_fmt"\n", #_foo, jss->_foo); }
   #define  XPRINT(_fmt, _foo)  if (jss->_foo) PRINT(_fmt, _foo)
   
  + if (jss->av)
  + argvPrint(__FUNCTION__, (ARGV_t)jss->av, NULL);
PRINT(x, flags);
   
XPRINT(s, Ifile);
  @@ -1305,37 +1307,39 @@
   
   RPMIOPOOL_INTERP_MODULE(jss)
   
  -#ifdef   NOTYET
   static const char * _rpmjssI_init = "\
  -print('_rpmjssI_init');\n\
  -version();\n\
  +print('-- _rpmjssI_init --');\n\
  +help(version);\n\
  +version(185); putstr('version: '); print(version());\n\
  +help(options);\n\
  +options('strict'); putstr('options: '); print(options('strict'));\
   ";
  -#endif
   
   rpmjss rpmjssNew(char ** av, uint32_t flags)
   {
   static const char * _av[] = { (char *) "rpmjss", NULL };
   int ac = argvCount((ARGV_t)av);
   int initialize (!(flags & 0x8000) || _rpmjssI == NULL);
  -SPEW("==> %s(%p[%u], 0x%x)\n", __FUNCTION__, av, ac, flags);
   rpmjss jss =
  -#ifdef   NOTYET
(flags & 0x8000) ? rpmjssI() :
  -#endif
rpmjssGetPool(_rpmjssPool);
   
   if (av == NULL) av = (char **) _av;
   
   /* Parse JSShell options. */
   if (initialize) {
  +
  + /* XXX TODO: global interpreter defauls from %{_jssI_config}. */
  +
rpmRC rc = rpmjssSetup(jss, ac, av, flags);
(void)rc;
   
  - /* Initialize JSShell interpreter. */
  - JSI_t I = (JSI_t) mozInit(jss);
  - jss->I = I;
  + /* Initialize JSShell interpreter (if not already). */
  + if (jss->I == NULL) {
  + JSI_t I = (JSI_t) mozInit(jss);
  + jss->I = I;
  + }
   
  -#ifdef   NOTYET
/* XXX TODO: rpmjssInfo() spewage on first open. */
   
static const char _jssI_init[] = "%{?_jssI_init}";
  @@ -1346,7 +1350,6 @@
   
(void) rpmjssRun(jss, s, NULL);
s = _free(s);
  -#endif
   }
   
   return rpmjssLink(jss);
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmpython.c

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 16:25:48
  Branch: rpm-5_4  Handle: 2017071014254800

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmpython.c

  Log:
- rpmpython: add SPEW().

  Summary:
RevisionChanges Path
2.16.2.15   +9  -10 rpm/rpmio/rpmpython.c
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmpython.c
  
  $ cvs diff -u -r2.16.2.14 -r2.16.2.15 rpmpython.c
  --- rpm/rpmio/rpmpython.c 26 May 2017 20:49:23 -  2.16.2.14
  +++ rpm/rpmio/rpmpython.c 10 Jul 2017 14:25:48 -  2.16.2.15
  @@ -24,6 +24,11 @@
   
   #include "debug.h"
   
  +int _rpmpython_debug = 0;
  +#define SPEW(_fmt, ...) \
  +  if (_rpmpython_debug) \
  +  fprintf(stderr, _fmt, __VA_ARGS__)
  +
   static void rpmpythonFini(void * _python)
   {
   rpmpython python = (rpmpython) _python;
  @@ -34,8 +39,6 @@
   python->I = NULL;
   }
   
  -int _rpmpython_debug = 0;
  -
   #define  rpmpythonDbug   NULL
   #define  rpmpythonInit   NULL
   RPMIOPOOL_INTERP_MODULE(python)
  @@ -124,8 +127,7 @@
   rpmpython python = (flags & 0x8000)
? rpmpythonI() : rpmpythonGetPool(_rpmpythonPool);
   
  -if (_rpmpython_debug)
  -fprintf(stderr, "==> %s(%p, %d) python %p\n", __FUNCTION__, av, flags, 
python);
  +SPEW("==> %s(%p, %d) python %p\n", __FUNCTION__, av, flags, python);
   
   if (av == NULL) av = (char **) _av;
   
  @@ -145,8 +147,7 @@
const char * s = rpmExpand(_rpmpythonI_init, _pythonI_init, NULL);
int ac = argvCount((ARGV_t)av);
(void) PySys_SetArgv(ac, (char **)av);
  -if (_rpmpython_debug)
  -fprintf(stderr, "==\n%s\n==\n", s);
  +SPEW("==\n%s\n==\n", s);
(void) rpmpythonRun(python, s, NULL);
s = _free(s);
   }
  @@ -159,8 +160,7 @@
   {
   rpmRC rc = RPMRC_FAIL;
   
  -if (_rpmpython_debug)
  -fprintf(stderr, "==> %s(%p,%s)\n", __FUNCTION__, python, fn);
  +SPEW("==> %s(%p,%s)\n", __FUNCTION__, python, fn);
   
   if (python == NULL) python = rpmpythonI();
   
  @@ -207,8 +207,7 @@
   {
   rpmRC rc = RPMRC_FAIL;
   
  -if (_rpmpython_debug)
  -fprintf(stderr, "==> %s(%p,%s,%p)\n", __FUNCTION__, python, str, resultp);
  +SPEW("==> %s(%p,%s,%p)\n", __FUNCTION__, python, str, resultp);
   
   if (python == NULL) python = rpmpythonI();
   
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmjss.cpp rpmjss.h

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 16:22:00
  Branch: rpm-5_4  Handle: 2017071014215900

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmjss.cpp rpmjss.h

  Log:
- rpmjss: parse options/arguments.

  Summary:
RevisionChanges Path
1.1.2.2 +534 -163   rpm/rpmio/rpmjss.cpp
1.1.2.6 +5  -5  rpm/rpmio/rpmjss.h
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmjss.cpp
  
  $ cvs diff -u -r1.1.2.1 -r1.1.2.2 rpmjss.cpp
  --- rpm/rpmio/rpmjss.cpp  10 Jul 2017 09:42:51 -  1.1.2.1
  +++ rpm/rpmio/rpmjss.cpp  10 Jul 2017 14:21:59 -  1.1.2.2
  @@ -366,8 +366,10 @@
   // Start the engine.
   if (rpmjss_nopens++ == 0) {
   
  - MaybeOverrideOutFileFromEnv("JS_STDERR", stderr, &gErrFile);
  - MaybeOverrideOutFileFromEnv("JS_STDOUT", stdout, &gOutFile);
  + if (gErrFile == NULL)
  + MaybeOverrideOutFileFromEnv("JS_STDERR", stderr, &gErrFile);
  + if (gOutFile == NULL)
  + MaybeOverrideOutFileFromEnv("JS_STDOUT", stdout, &gOutFile);
   
   #ifdef JS_CODEGEN_X86
if (!(jss->xf & XF_FPU))
  @@ -411,6 +413,7 @@
   
   JSRuntime * rt = JS_NewRuntime(_maxbytes, nurseryBytes);
   assert(rt);
  +assert(I->rt == NULL);
   I->rt = rt;
   
   #ifdef   DYING
  @@ -462,6 +465,7 @@
   
   JSContext * cx = NewContext(rt);
   assert(cx);
  +assert(I->cx == NULL);
   I->cx = cx;
   #ifdef   DYING
   JS_SetContextPrivate(cx, (void *)jss);
  @@ -494,6 +498,7 @@
options.setVersion(JSVERSION_DEFAULT);
glob = NewGlobalObject(cx, options, _principals);
   assert(glob);
  +assert(I->global == NULL);
I->global = glob;
   
JSAutoCompartment ac(cx, glob);
  @@ -568,323 +573,365 @@
   static struct JSIO_s _mozjs45 = { mozFini, mozInit, mozRun };
   JSIO_t mozjs45 = &_mozjs45;
   
  +#ifdef   DYING
   /*==*/
   struct rpmjss_s _jss;
   rpmjss jss = &_jss;
  +#endif
   
   /*==*/
  -struct poptOption rpmjssIPoptTable[] = {
  +static rpmjssFlags rpmjssFlagsDefault = (rpmjssFlags) (
  +RPMJSS_FLAGS_RELIMIT |
  +RPMJSS_FLAGS_JIT |
  +RPMJSS_FLAGS_STRICT |
  +0
  +);
  +
  +static rpmjssIonFlags rpmjssIonFlagsDefault = (rpmjssIonFlags) (
  +ION_SCALAR_REPLACEMENT |
  +ION_GVN |
  +ION_LICM |
  +ION_EDGECASE_ANALYSIS |
  +ION_RANGE_ANALYSIS |
  +ION_INLINING |
  +ION_OSR |
  +ION_LIMIT_SCRIPT_SIZE |
  +ION_OFFTHREAD_COMPILE |
  +0
  +);
  +
  +static rpmjssXFlags rpmjssXFlagsDefault = (rpmjssXFlags) (
  +XF_BASELINE |
  +XF_ION |
  +XF_ASMJS |
  +XF_NATIVE_REGEXP |
  +XF_UNBOXED_OBJECTS |
  +XF_CACHE_PER_PROCESS |
  +XF_FPU |
  +XF_SSE3 |
  +XF_SSE4 |
  +XF_THREADS |
  +XF_GGC |
  +XF_CGC |
  +XF_INCREMENTAL_GC |
  +0
  +);
  +
  +/*==*/
  +static rpmRC
  +rpmjssInitPopt(rpmjss jss, int ac, char * const* av)
  +{
  +
  +  struct poptOption rpmjssIPoptTable[] = {
 { "allow", '\0', POPT_BIT_SET,
  - &_jss.flags, RPMJSS_FLAGS_ALLOW,
  + &jss->flags, RPMJSS_FLAGS_ALLOW,
   N_("Allow (read-only) access to caller's environment"), NULL },
 { "cache", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,
  - &_jss.flags, RPMJSS_FLAGS_NOCACHE,
  + &jss->flags, RPMJSS_FLAGS_NOCACHE,
   N_("Disables compiler caching via JSScript XDR serialization"), NULL 
},
 { "loadrc", '\0', POPT_BIT_SET,
  - &_jss.flags, RPMJSS_FLAGS_LOADRC,
  + &jss->flags, RPMJSS_FLAGS_LOADRC,
   N_("Load RC file for interpreter based on script filename."), NULL },
 { "warn", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,
  - &_jss.flags, RPMJSS_FLAGS_NOWARN,
  + &jss->flags, RPMJSS_FLAGS_NOWARN,
   N_("Do not report warnings"), NULL },
   
 { "relimit", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,
  - &_jss.flags, RPMJSS_FLAGS_RELIMIT,
  + &jss->flags, RPMJSS_FLAGS_RELIMIT,
   N_("Do not limit regexps to n^3 levels of backtracking"), NULL },
 { "jit", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,
  - &_jss.flags, RPMJSS_FLAGS_JIT,
  + &jss->flags, RPMJSS_FLAGS_JIT,
   N_("Disable nanojit"), NULL },
 { "strict", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,
  - &_jss.flags, RPMJSS_FLAGS_STRICT,
  + &jss->flags, RPMJSS_FLAGS_STRICT,
   N_("Disable Strict

[CVS] RPM: rpm-5_4: rpm/js/ Makefile.am rpmjs45.cpp rpmjs45shim.cpp

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 12:09:25
  Branch: rpm-5_4  Handle: 2017071010092500

  Modified files:   (Branch: rpm-5_4)
rpm/js  Makefile.am rpmjs45.cpp rpmjs45shim.cpp

  Log:
- rpmjs: haul out the trash.

  Summary:
RevisionChanges Path
1.44.2.17   +9  -40 rpm/js/Makefile.am
1.1.2.9 +9  -0  rpm/js/rpmjs45.cpp
1.1.2.2 +10 -0  rpm/js/rpmjs45shim.cpp
  

  patch -p0 <<'@@ .'
  Index: rpm/js/Makefile.am
  
  $ cvs diff -u -r1.44.2.16 -r1.44.2.17 Makefile.am
  --- rpm/js/Makefile.am9 Jul 2017 16:11:12 -   1.44.2.16
  +++ rpm/js/Makefile.am10 Jul 2017 10:09:25 -  1.44.2.17
  @@ -90,7 +90,7 @@
   EXTRA_PROGRAMS = rpmjs45 rpmjs52 v8
   noinst_PROGRAMS =tjs
   
  -moz_srcdir = ${srcdir}/mozilla-release/js/src
  +moz_srcdir = ${srcdir}/extract
   #moz_builddir =  ${builddir}/platform/x86_64/linux/build
   moz_builddir =   ${builddir}/src
   
  @@ -120,54 +120,23 @@
   #${moz_builddir}/shell/Unified_cpp_js_src_shell0.cpp
   rpmjs45_CPPFLAGS = \
-DEXPORT_JS_API \
  - -DJS_HAS_CTYPES \
-DDLL_PREFIX='"lib"' -DDLL_SUFFIX='".so"' \
  - -fPIC \
-DMOZILLA_CLIENT \
-D'moz_xmalloc(_len)=malloc(_len)' \
  - -I${moz_srcdir}/js/src/shell \
  + -I${moz_srcdir}/mfbt \
-I${moz_srcdir}/js/src \
  - -I${moz_srcdir}/dist/include \
  - -I${moz_srcdir}/shell \
  - -I${moz_srcdir} \
  - -I${moz_builddir} \
-I${srcdir}/include \
  - -I${srcdir} \
  - -I${builddir} \
-I../rpmio \
  - -include ${top_srcdir}/config.h \
  - -include js-confdefs.h \
  - -include js/RequiredDefines.h \
  - -fno-tree-vrp \
  - -fno-strict-aliasing \
  - -fno-delete-null-pointer-checks \
  - -Wsign-compare \
  - -Wtype-limits \
  - -Wcast-align \
  - -Wno-invalid-offsetof \
  - -ffunction-sections \
  - -fdata-sections \
  - -fno-exceptions \
  - -fno-math-errno \
  + -include ${moz_srcdir}/js/src/js/src/js-confdefs.h \
-pthread \
  - -DTRIMMER \
  - -freorder-blocks \
  - -O3 \
  - -fomit-frame-pointer \
  - -DRPMJSS_SELF_TEST
  -rpmjs_CXXFLAGS = \
  - -std=gnu++0x \
  - -fno-rtti
  + -fPIC \
  + -O3
  +#rpmjs_CXXFLAGS = \
  +#-std=gnu++0x \
  +#-fno-rtti
   rpmjs45_LDADD = \
  - -L${abs_top_builddir}/js/src -lmozjs \
  - -L${abs_top_builddir}/js/mozilla-release/js/src/dist/sdk/lib \
  - -lmozglue -lmemory \
  - -lm -ldl  -lffi -licui18n -licuuc -licudata \
  + ${builddir}/src/libmozjs.la \
$(RPMIO_LDADD_COMMON)
  -rpmjs45_LDFLAGS = \
  - -R${abs_top_builddir}/js/mozilla-release/js/src/dist/sdk/lib
  -#rpmjs45_CPPFLAGS = -include /usr/include/mozjs-45/js/RequiredDefines.h 
-I/usr/include/mozjs-45 -fPIC -DRPMJSS_SELF_TEST
  -#rpmjs45_LDADD = -L/usr/lib64 -lmozjs-45
   
   foo: rpmjs45
./rpmjs45 -f rpmjss.inp
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmjs45.cpp
  
  $ cvs diff -u -r1.1.2.8 -r1.1.2.9 rpmjs45.cpp
  --- rpm/js/rpmjs45.cpp9 Jul 2017 16:59:19 -   1.1.2.8
  +++ rpm/js/rpmjs45.cpp10 Jul 2017 10:09:25 -  1.1.2.9
  @@ -1,3 +1,12 @@
  +#pragma GCC diagnostic ignored "-Winvalid-offsetof"
  +#pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
  +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
  +#pragma GCC diagnostic ignored "-Wextra"
  +  
  +#include "system.h"
  +#undef  ioctl
  +#define rpl_ioctl ioctl
  +
   /*==*/
   #include "shell/OSObject.cpp"
   /*==*/
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/js/rpmjs45shim.cpp
  
  $ cvs diff -u -r1.1.2.1 -r1.1.2.2 rpmjs45shim.cpp
  --- rpm/js/rpmjs45shim.cpp8 Jul 2017 08:14:42 -   1.1.2.1
  +++ rpm/js/rpmjs45shim.cpp10 Jul 2017 10:09:25 -  1.1.2.2
  @@ -1,3 +1,13 @@
  +#pragma GCC diagnostic ignored "-Winvalid-offsetof"
  +#pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
  +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
  +#pragma GCC diagnostic ignored "-Wextra"
  +#pragma GCC diagnostic ignored "-Wunused-result"
  +
  +#include "system.h"
  +#undef  ioctl
  +#define rpl_ioctl ioctl
  +
   #include "mfbt/Unif

[CVS] RPM: rpm-5_4: rpm/lib/ poptALL.c psm.c

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 11:44:00
  Branch: rpm-5_4  Handle: 201707100944

  Modified files:   (Branch: rpm-5_4)
rpm/lib poptALL.c psm.c

  Log:
- rpmjss: replace rpmjs with rpmjss.

  Summary:
RevisionChanges Path
2.144.2.20  +4  -4  rpm/lib/poptALL.c
2.399.2.29  +2  -2  rpm/lib/psm.c
  

  patch -p0 <<'@@ .'
  Index: rpm/lib/poptALL.c
  
  $ cvs diff -u -r2.144.2.19 -r2.144.2.20 poptALL.c
  --- rpm/lib/poptALL.c 20 May 2017 19:21:07 -  2.144.2.19
  +++ rpm/lib/poptALL.c 10 Jul 2017 09:44:00 -  2.144.2.20
  @@ -25,7 +25,7 @@
   #include 
   
   #include 
  -#include 
  +#include 
   #include 
   
   #include 
  @@ -451,7 +451,7 @@
   rpmcliFini(poptContext optCon)
   {
   extern rpmioPool _rpmjniPool;
  -extern rpmioPool _rpmjsPool;
  +extern rpmioPool _rpmjssPool;
   extern rpmioPool _headerPool;
   extern const char * evr_tuple_order;
   extern const char * evr_tuple_match;
  @@ -468,8 +468,8 @@
   /* Realease (and dereference) embedded interpreter global objects first. 
*/
   _rpmjniI = rpmjniFree(_rpmjniI);
   _rpmjniPool = rpmioFreePool(_rpmjniPool);
  -_rpmjsI = rpmjsFree(_rpmjsI);
  -_rpmjsPool = rpmioFreePool(_rpmjsPool);
  +_rpmjssI = rpmjssFree(_rpmjssI);
  +_rpmjssPool = rpmioFreePool(_rpmjssPool);
   RPMIOPOOL_INTERP_FREE(ruby)
   
   RPMIOPOOL_INTERP_FREE(mdb)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/psm.c
  
  $ cvs diff -u -r2.399.2.28 -r2.399.2.29 psm.c
  --- rpm/lib/psm.c 1 Jun 2017 18:38:24 -   2.399.2.28
  +++ rpm/lib/psm.c 10 Jul 2017 09:44:00 -  2.399.2.29
  @@ -16,7 +16,7 @@
   #include 
   #include 
   #include 
  -#include 
  +#include 
   #include 
   #include 
   #include 
  @@ -645,7 +645,7 @@
   #endif
   #if defined(WITH_MOZJS)
   if (!strcmp(Phe->p.argv[0], "")) {
  - RPMIOPOOL_INTERP_RUN(js)
  + RPMIOPOOL_INTERP_RUN(jss)
   } else
   #endif
   #if defined(WITH_MRBEMBED)
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmev.c rpmjss.cpp

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 11:42:51
  Branch: rpm-5_4  Handle: 2017071009425100

  Added files:  (Branch: rpm-5_4)
rpm/rpmio   rpmev.c rpmjss.cpp

  Log:
- create.

  Summary:
RevisionChanges Path
1.1.2.1 +649 -0 rpm/rpmio/rpmev.c
1.1.2.1 +996 -0 rpm/rpmio/rpmjss.cpp
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmev.c
  
  $ cvs diff -u -r0 -r1.1.2.1 rpmev.c
  --- /dev/null 2017-07-10 11:35:46.0 +0200
  +++ rpmev.c   2017-07-10 11:42:51.797005547 +0200
  @@ -0,0 +1,649 @@
  +#include "system.h"
  +#include 
  +
  +#if defined(WITH_LIBEV)
  +
  +#if defined(HAVE_EV_H)
  +# include 
  +#endif
  +
  +#else/* WITH_LIBEV */
  +
  +/* XXX stub in enough to include rpmev.h */
  +#define  EV_P_   void * loop,
  +struct ev_watcher {
  +int active;
  +int pending;
  +int priority;
  +void * data;
  +void (*cb)(EV_P_ void *w, int revents);
  +};
  +
  +union ev_any_watcher
  +{
  +struct ev_watcher w;
  +};
  +
  +#endif   /* WITH_LIBEV */
  +
  +#include 
  +#include 
  +
  +#define  _RPMEV_INTERNAL
  +#include 
  +
  +#include "debug.h"
  +
  +int _rpmev_debug = -1;
  +
  +#define SPEW(_fmt, ...) \
  +if (_rpmev_debug || _rpmio_debug) \
  + fprintf(stderr, _fmt, __VA_ARGS__)
  +
  +/*==*/
  +unsigned rpmioEV = 0;
  +struct poptOption rpmioEVTable[] = {
  +#if defined(WITH_LIBEV)
  + { "read", '\0', POPT_BIT_SET,   &rpmioEV, EV_READ,
  +N_("read"), N_("EV_READ") },
  + { "write", '\0', POPT_BIT_SET,  &rpmioEV, EV_WRITE,
  +N_("write"), N_("EV_WRITE") },
  + { "internal", '\0', POPT_BIT_SET,   &rpmioEV, EV__IOFDSET,
  +N_("internal"), N_("EV__IOFDSET") },
  + { "timer", '\0', POPT_BIT_SET,  &rpmioEV, EV_TIMER,
  +N_("timer"), N_("EV_TIMER") },
  + { "periodic", '\0', POPT_BIT_SET,   &rpmioEV, EV_PERIODIC,
  +N_("periodic"), N_("EV_PERIODIC") },
  + { "signal", '\0', POPT_BIT_SET, &rpmioEV, EV_SIGNAL,
  +N_("signal"), N_("EV_SIGNAL") },
  + { "child", '\0', POPT_BIT_SET,  &rpmioEV, EV_CHILD,
  +N_("child"), N_("EV_CHILD") },
  + { "stat", '\0', POPT_BIT_SET,   &rpmioEV, EV_STAT,
  +N_("stat"), N_("EV_STAT") },
  + { "idle", '\0', POPT_BIT_SET,   &rpmioEV, EV_IDLE,
  +N_("idle"), N_("EV_IDLE") },
  + { "prepare", '\0', POPT_BIT_SET,&rpmioEV, EV_PREPARE,
  +N_("prepare"), N_("EV_PREPARE") },
  + { "check", '\0', POPT_BIT_SET,  &rpmioEV, EV_CHECK,
  +N_("check"), N_("EV_CHECK") },
  + { "embed", '\0', POPT_BIT_SET,  &rpmioEV, EV_EMBED,
  +N_("embed"), N_("EV_EMBED") },
  + { "fork", '\0', POPT_BIT_SET,   &rpmioEV, EV_FORK,
  +N_("fork"), N_("EV_FORK") },
  + { "cleanup", '\0', POPT_BIT_SET,&rpmioEV, EV_CLEANUP,
  +N_("cleanup"), N_("EV_CLEANUP") },
  + { "async", '\0', POPT_BIT_SET,  &rpmioEV, EV_ASYNC,
  +N_("async"), N_("EV_ASYNC") },
  + { "custom", '\0', POPT_BIT_SET, &rpmioEV, EV_CUSTOM,
  +N_("custom"), N_("EV_CUSTOM") },
  + { "error", '\0', POPT_BIT_SET,  &rpmioEV, EV_ERROR,
  +N_("error"), N_("EV_ERROR") },
  +#endif   /* WITH_LIBEV */
  +   POPT_TABLEEND
  +};
  +
  +unsigned rpmioEVFLAG = 0;
  +struct poptOption rpmioEVFLAGTable[] = {
  +#if defined(WITH_LIBEV)
  + { "env", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE,&rpmioEVFLAG, 
EVFLAG_NOENV,
  +N_("env"), N_("EVFLAG_NOENV") },
  + { "forkcheck", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE,  &rpmioEVFLAG, 
EVFLAG_FORKCHECK,
  +N_("forkcheck"), N_("EVFLAG_FORKCHECK") },
  + { "inotify", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, &rpmioEVFLAG, 
EVFLAG_NOINOTIFY,
  +N_("inotify"), N_("EVFLAG_NOINOTIFY") },
  + { "signalfd", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &rpmioEVFLAG, 
EVFLAG_SIGNALFD,
  +N_("signalfd"), N_("EVFLAG_SIGNALFD") },
  + { "sigmask", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, &rpmioEVFLAG, 
EVFLAG_NOSIGMASK,
  +N_("sigmask"), N_("EVFLAG_NOSIGMASK") },
  +#endif   /* WITH_LIBEV */
  +   POPT_TABLEEND
  +};
  +
  +unsigned rpmioEVBACKEND = 0;
  +struct poptOption rpmioEVBACKENDTable[] = {
  +#if defined(WITH_LIBEV)
  + { "select", '\0', POPT_BIT_SET, &rpmioEVBACKEND, EVBACKEND_SELECT,
  +N_("select"), N_("EVBACKEND_SELECT") },
  + { "poll", '\0', POPT_BIT

[CVS] RPM: rpm-5_4: rpm/ configure.ac

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 11:39:54
  Branch: rpm-5_4  Handle: 2017071009395400

  Modified files:   (Branch: rpm-5_4)
rpm configure.ac

  Log:
- rpmjs: AutoFU for mozjs.

  Summary:
RevisionChanges Path
2.472.2.176 +97 -30 rpm/configure.ac
  

  patch -p0 <<'@@ .'
  Index: rpm/configure.ac
  
  $ cvs diff -u -r2.472.2.175 -r2.472.2.176 configure.ac
  --- rpm/configure.ac  13 Jun 2017 22:25:22 -  2.472.2.175
  +++ rpm/configure.ac  10 Jul 2017 09:39:54 -  2.472.2.176
  @@ -332,7 +332,7 @@
 rpm_CFLAGS_ADD([-Wsuggest-attribute=pure],[RPM_CFLAGS])
   rpm_CFLAGS_ADD([-Wno-unused-but-set-variable], [RPM_CFLAGS])
   dnl # -fno-delete-null-pointer as the kernel does 
http://patchwork.kernel.org/patch/36060/
  -  rpm_CFLAGS_ADD([-fno-delete-null-pointer-checks], [RPM_CFLAGS])
  +  rpm_CPPFLAGS_ADD([-fno-delete-null-pointer-checks], [RPM_CPPFLAGS])
 rpm_CFLAGS_ADD([-Wbool-compare],[RPM_CFLAGS])
 fi
   dnl #  rpm_CFLAGS_ADD([-Wdouble-promotion],[RPM_CFLAGS])
  @@ -449,6 +449,18 @@
   dnl #  rpm_CFLAGS_ADD([-fno-protect-parens],[RPM_CFLAGS])
   dnl #  rpm_CFLAGS_ADD([-fstack-arrays],[RPM_CFLAGS])
   
  +dnl # build RPM with Mozilla C++ flags (GCC only)
  +  rpm_CXXFLAGS_ADD([-std=gnu++0x], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fno-rtti], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fno-tree-vrp], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fno-strict-aliasing], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-ffunction-sections], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fdata-sections], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fno-exceptions], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fno-math-errno], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-freorder-blocks], [RPM_CXXFLAGS])
  +  rpm_CXXFLAGS_ADD([-fomit-frame-pointer], [RPM_CXXFLAGS])
  +
   dnl # build RPM instrumented for extra optimization/security (GCC only)
   dnl # --- other optimizations
 rpm_CFLAGS_ADD([-fexceptions], [RPM_CFLAGS])
  @@ -3894,51 +3906,106 @@
   ], [])
   AC_LANG_POP(C++)
   
  -dnl # JavaScript
  -WITH_JS_SUBDIR=""
  +dnl # Libicu18n/Libicuuc/Libicudata (for mozjs-45)
  +dnl # XXX FIXME: all the functions are versioned: _init will suffice.
  +RPM_CHECK_LIB(
  +[Libicu], [libicu],
  +[icui18n], [_init], [unicode/utypes.h],
  +[no,external:none], [],
  +[
  +LIBS="$LIBS -licuuc -licudata"
  +], [])
   
  -WITH_SPIDERMONKEY_SUBDIR=""
  +dnl # Libffi (for mozjs-45)
   RPM_CHECK_LIB(
  -[MozJS (js-1.8.5)], [mozjs185],
  -[mozjs185], [JS_NewContext], [jsapi.h],
  -[no,external:none], [mozjs185:src:src],
  -[ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
  -  WITH_SPIDERMONKEY_SUBDIR="$WITH_JS_SUBDIR/src"
  -  else
  -  WITH_JS_SUBDIR=js
  -  fi
  +[Libffi], [libffi],
  +[ffi], [ffi_prep_cif], [ffi.h],
  +[no,external:none], [],
  +[
  +AC_CHECK_FUNC(ffi_call)
  +AC_CHECK_FUNC(ffi_call_unix64)
  +AC_CHECK_FUNC(ffi_closure_alloc)
  +AC_CHECK_FUNC(ffi_closure_free)
  +AC_CHECK_FUNC(ffi_closure_unix64)
  +AC_CHECK_FUNC(ffi_closure_unix64_inner)
  +AC_CHECK_FUNC(ffi_java_ptrarray_to_raw)
  +AC_CHECK_FUNC(ffi_java_raw_call)
  +AC_CHECK_FUNC(ffi_java_raw_size)
  +AC_CHECK_FUNC(ffi_java_raw_to_ptrarray)
  +AC_CHECK_FUNC(ffi_prep_cif)
  +AC_CHECK_FUNC(ffi_prep_cif_machdep)
  +AC_CHECK_FUNC(ffi_prep_cif_var)
  +AC_CHECK_FUNC(ffi_prep_closure)
  +AC_CHECK_FUNC(ffi_prep_closure_loc)
  +AC_CHECK_FUNC(ffi_prep_java_raw_closure)
  +AC_CHECK_FUNC(ffi_prep_java_raw_closure_loc)
  +AC_CHECK_FUNC(ffi_prep_raw_closure)
  +AC_CHECK_FUNC(ffi_prep_raw_closure_loc)
  +AC_CHECK_FUNC(ffi_ptrarray_to_raw)
  +AC_CHECK_FUNC(ffi_raw_call)
  +AC_CHECK_FUNC(ffi_raw_size)
  +AC_CHECK_FUNC(ffi_raw_to_ptrarray)
   ], [])
  -AC_SUBST(WITH_SPIDERMONKEY_SUBDIR)
   
  +dnl # JavaScript
  +WITH_JS_SUBDIR=""
   #WITH_SPIDERMONKEY_SUBDIR=""
  -#AC_LANG_PUSH(C++)
   #RPM_CHECK_LIB(
  -#[MozJS (mozjs-24)], [mozjs24],
  -#[mozjs-24], [_fini], [jsapi.h],
  -#[no,external:none], [mozjs-24:src:src],
  +#[MozJS (js-1.8.5)], [mozjs185],
  +#[mozjs185], [JS_NewContext], [jsapi.h],
  +#[no,external:none], [mozjs185:src:src],
   #[ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
   #  WITH_SPIDERMONKEY_SUBDIR="$WITH_JS_SUBD

[CVS] RPM: rpm-5_4: rpm/ CHANGES rpm/rpmio/ Makefile.am librpmio.vers ...

2017-07-10 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   10-Jul-2017 11:38:54
  Branch: rpm-5_4  Handle: 20090419190007259511927

  Modified files:   (Branch: rpm-5_4)
rpm CHANGES
rpm/rpmio   Makefile.am librpmio.vers macro.c poptIO.c rpmio.c
rpmjss.h
  Removed files:(Branch: rpm-5_4)
rpm/rpmio   rpmjs.cpp rpmjs.h rpmjsio.c rpmjsio.h rpmjsio.msg

  Log:
- rpmjs: upgrade js-1.8.5 with mozjs-45 (internal).

  Summary:
RevisionChanges Path
1.3501.2.582+1  -0  rpm/CHANGES
1.293.2.105 +23 -12 rpm/rpmio/Makefile.am
2.199.2.98  +7  -10 rpm/rpmio/librpmio.vers
2.249.2.49  +4  -5  rpm/rpmio/macro.c
1.94.2.41   +2  -2  rpm/rpmio/poptIO.c
1.230.2.62  +2  -2  rpm/rpmio/rpmio.c
1.1 +0  -901rpm/rpmio/rpmjs.cpp
1.10+0  -141rpm/rpmio/rpmjs.h
1.4 +0  -2960   rpm/rpmio/rpmjsio.c
1.1 +0  -56 rpm/rpmio/rpmjsio.h
1.1 +0  -90 rpm/rpmio/rpmjsio.msg
1.1.2.5 +0  -2  rpm/rpmio/rpmjss.h
  

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.3501.2.581 -r1.3501.2.582 CHANGES
  --- rpm/CHANGES   1 Jul 2017 04:35:47 -   1.3501.2.581
  +++ rpm/CHANGES   10 Jul 2017 09:38:53 -  1.3501.2.582
  @@ -1,4 +1,5 @@
   5.4.17 -> 5.4.18:
  +- jbj: rpmjs: upgrade js-1.8.5 with mozjs-45 (internal).
   - jbj: macros: update %efi 
(http://rpm5.org/community/rpm-devel/5699.html)/
   - jbj: scripts: honor COMPRESS envvar (if set) 
(http://rpm5.org/community/rpm-devel/5698.html)
   - jbj: scripts: get rid of unused 
(http://rpm5.org/community/rpm-devel/5697.html)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/Makefile.am
  
  $ cvs diff -u -r1.293.2.104 -r1.293.2.105 Makefile.am
  --- rpm/rpmio/Makefile.am 4 Jul 2017 03:09:00 -   1.293.2.104
  +++ rpm/rpmio/Makefile.am 10 Jul 2017 09:38:54 -  1.293.2.105
  @@ -17,8 +17,7 @@
   EXTRA_DIST = librpmio.vers \
getdate.y html-parse.c html-parse.h libsqlio.c \
rpmcpio.c rpmcpio.h rpmgenbasedir.c rpmgenpkglist.c rpmgensrclist.c \
  - rpmjsio.msg rpmtar.c rpmtar.h \
  - rpmjs0ad.cpp rpmjs185.cpp rpmjs17.cpp rpmjs24.cpp rpmjs31.cpp 
rpmjs38.cpp rpmjs45.cpp \
  + rpmtar.c rpmtar.h \
tdir.c teio.c tfts.c tget.c tgfs.c tgit.c tglob.c thkp.c thtml.c \
tinv.c tkey.c tmire.c tmq.c tmqtt.c todbc.c tput.c tpython.c trpmio.c \
tsexp.c tsvn.c tsw.c lookup3.c duktape.c tjsmn.c tjson.c yajl.c \
  @@ -163,8 +162,8 @@
pcrs.h rpmacl.h rpmaio.h rpmasn.h rpmaug.h rpmbag.h rpmbc.h rpmbz.h \
rpmcap.h rpmcdsa.h rpmct.h rpmcudf.h rpmcvs.h rpmdate.h rpmdav.h \
rpmdir.h rpmeio.h rpmev.h rpmficl.h rpmgc.h rpmgfs.h rpmgit.h \
  - rpmhash.h rpmhkp.h rpmhook.h rpmio_internal.h rpmjni.h rpmjs.h \
  - rpmjsio.h rpmkeyring.h rpmku.h rpmltc.h rpmlua.h \
  + rpmhash.h rpmhkp.h rpmhook.h rpmio_internal.h rpmjni.h rpmjss.h \
  + rpmkeyring.h rpmku.h rpmltc.h rpmlua.h \
rpmmqtt.h rpmmrb.h rpmmsq.h rpmnix.h rpmnss.h rpmodbc.h \
rpmperl.h rpmpgp.h rpmpython.h rpmruby.h rpmsed.h rpmsm.h rpmsp.h \
rpmsq.h rpmsql.h rpmsquirrel.h rpmssl.h rpmsvn.h rpmsx.h rpmsyck.h \
  @@ -181,7 +180,7 @@
groestl.c hamsi.c jh.c keccak.c lane.c luffa.c md2.c md6.c radiogatun.c\
salsa10.c salsa20.c shabal.c shavite3.c simd.c skein.c tib3.c tiger.c \
rpmgit.c rpmio-stub.c \
  - rpmjs.cpp rpmjsio.c rpmkeyring.c \
  + rpmjs45shim.cpp rpmjss.cpp rpmkeyring.c \
rpmnix.c rpmodbc.c rpmsql.c set.c \
ar.c \
argv.c \
  @@ -282,8 +281,7 @@
   DISTCLEANFILES += $(defexec_DATA)
   endif
   
  -# XXX FIXME: error: inlining failed in call to always_inline ‘__signbit’
  -librpmio_la_LIBADD =
  +librpmio_la_LIBADD = $(top_builddir)/js/src/libmozjs.la
   #librpmio_la_LIBADD += duktape.o -lm
   if ENABLE_BUILD_INTLIBDEP
   librpmio_la_LIBADD += \
  @@ -322,11 +320,24 @@
@$(LTCOMPILE) -O0 -c $<
   keccak.lo: $(top_srcdir)/rpmio/keccak.c
@$(LTCOMPILE) -O0 -c $<
  -# XXX JS_ALWAYS_INLINE needs -O0 with -fgnu-tm
  -#rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.c
  -#@$(LTCOMPILE) -O0 -c $<
  -rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.cpp
  - @$(LTCOMPILE) -O0 -c $<
  +
  +moz_srcdir = ${top_srcdir}/js/extract
  +MOZ_CPPFLAGS = \
  + -DEXPORT_JS_API \
  + -DDLL_PREFIX='"li