The package rpms/nodejs-libxmljs.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/nodejs-libxmljs.git/commit/?id=70....
Change:
-ExclusiveArch: %{nodejs_arches}
Thanks.
Full change:
============
commit 703f0134673e0b97fac8edcb51201ada1519e1f3
Author: Tom Hughes <tom(a)compton.nu>
Date: Fri Feb 7 10:00:42 2020 +0000
Update to 0.19.7 upstream release
diff --git a/.gitignore b/.gitignore
index 980554e..16310a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
/libxmljs-0.18.2.tgz
/libxmljs-0.18.7.tgz
/libxmljs-0.19.5.tgz
+/libxmljs-0.19.7.tgz
diff --git a/nodejs-libxmljs-0.18.7-remove-bundled-libxml.patch
b/nodejs-libxmljs-0.18.7-remove-bundled-libxml.patch
deleted file mode 100644
index df380bf..0000000
--- a/nodejs-libxmljs-0.18.7-remove-bundled-libxml.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-commit a1f3eddd81a99a55aa1c2742cc0b342e977d8f47
-Author: Tom Hughes <tom(a)compton.nu>
-Date: Thu Dec 3 00:06:52 2015 +0000
-
- Remove dependency on bundled libxml2
-
-diff --git a/binding.gyp b/binding.gyp
-index a540ecd..37e0f6f 100644
---- a/binding.gyp
-+++ b/binding.gyp
-@@ -25,55 +25,29 @@
- 'src/xml_text.cc',
- 'src/xml_pi.cc',
- 'src/xml_xpath_context.cc',
-- 'vendor/libxml/buf.c',
-- 'vendor/libxml/catalog.c',
-- 'vendor/libxml/chvalid.c',
-- 'vendor/libxml/dict.c',
-- 'vendor/libxml/encoding.c',
-- 'vendor/libxml/entities.c',
-- 'vendor/libxml/error.c',
-- 'vendor/libxml/globals.c',
-- 'vendor/libxml/hash.c',
-- 'vendor/libxml/HTMLparser.c',
-- 'vendor/libxml/HTMLtree.c',
-- 'vendor/libxml/legacy.c',
-- 'vendor/libxml/list.c',
-- 'vendor/libxml/parser.c',
-- 'vendor/libxml/parserInternals.c',
-- 'vendor/libxml/pattern.c',
-- 'vendor/libxml/relaxng.c',
-- 'vendor/libxml/SAX2.c',
-- 'vendor/libxml/SAX.c',
-- 'vendor/libxml/tree.c',
-- 'vendor/libxml/threads.c',
-- 'vendor/libxml/uri.c',
-- 'vendor/libxml/valid.c',
-- 'vendor/libxml/xinclude.c',
-- 'vendor/libxml/xlink.c',
-- 'vendor/libxml/xmlIO.c',
-- 'vendor/libxml/xmlmemory.c',
-- 'vendor/libxml/xmlmodule.c',
-- 'vendor/libxml/xmlreader.c',
-- 'vendor/libxml/xmlregexp.c',
-- 'vendor/libxml/xmlsave.c',
-- 'vendor/libxml/xmlschemas.c',
-- 'vendor/libxml/xmlschemastypes.c',
-- 'vendor/libxml/xmlstring.c',
-- 'vendor/libxml/xmlunicode.c',
-- 'vendor/libxml/xmlwriter.c',
-- 'vendor/libxml/xpath.c',
-- 'vendor/libxml/xpointer.c'
- ],
- 'conditions': [
-+ ['OS=="win"', {
-+ # no Windows support yet...
-+ }, {
-+ 'libraries': [
-+ '<!@(xml2-config --libs)'
-+ ],
-+ }],
- ['OS=="mac"', {
- # node-gyp 2.x doesn't add this anymore
- #
https://github.com/TooTallNate/node-gyp/pull/612
- 'xcode_settings': {
- 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
- 'OTHER_LDFLAGS': [
-- '-undefined dynamic_lookup'
-+ '-undefined dynamic_lookup',
-+ '<!@(xml2-config --cflags)'
- ],
- },
-+ }, {
-+ 'cflags': [
-+ '<!@(xml2-config --cflags)'
-+ ],
- }]
- ]
- }
diff --git a/nodejs-libxmljs-0.19.5-node12.patch b/nodejs-libxmljs-0.19.5-node12.patch
deleted file mode 100644
index 987f8eb..0000000
--- a/nodejs-libxmljs-0.19.5-node12.patch
+++ /dev/null
@@ -1,1225 +0,0 @@
-commit 3c8be5e707a0d5424859028dc81d1242b50ba6bf
-Author: Tom Hughes <tom(a)compton.nu>
-Date: Sun Jun 16 15:33:08 2019 +0100
-
- Update for Node.js 12.x support
-
-diff --git a/.travis.yml b/.travis.yml
-index 6f0a64b..014b4b0 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -14,6 +14,7 @@ node_js:
- - 8
- - 9
- - 10
-+- 12
-
- addons:
- apt:
-diff --git a/package.json b/package.json
-index 930f1b2..c8dacab 100644
---- a/package.json
-+++ b/package.json
-@@ -31,7 +31,7 @@
- },
- "dependencies": {
- "bindings": "~1.3.0",
-- "nan": "~2.10.0",
-+ "nan": "~2.14.0",
- "node-pre-gyp": "~0.11.0"
- },
- "devDependencies": {
-diff --git a/src/html_document.cc b/src/html_document.cc
-index 13139ac..dd5ebcc 100644
---- a/src/html_document.cc
-+++ b/src/html_document.cc
-@@ -4,6 +4,6 @@
- namespace libxmljs {
-
- void
--HtmlDocument::Initialize(v8::Handle<v8::Object> target) {
-+HtmlDocument::Initialize(v8::Local<v8::Object> target) {
- }
- } // namespcae libxmljs
-diff --git a/src/html_document.h b/src/html_document.h
-index 91553ad..3a17ff4 100644
---- a/src/html_document.h
-+++ b/src/html_document.h
-@@ -11,7 +11,7 @@ class HtmlDocument : public XmlDocument {
- public:
-
- explicit HtmlDocument(xmlDoc* doc) : XmlDocument(doc) {}
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
- };
-
- } // namespace libxmljs
-diff --git a/src/libxmljs.cc b/src/libxmljs.cc
-index cf40a36..afa6b86 100644
---- a/src/libxmljs.cc
-+++ b/src/libxmljs.cc
-@@ -274,6 +274,6 @@ NAN_MODULE_INIT(init)
- Nan::SetMethod(target, "xmlNodeCount", XmlNodeCount);
- }
-
--NODE_MODULE(xmljs, init)
-+NAN_MODULE_WORKER_ENABLED(xmljs, init)
-
- } // namespace libxmljs
-diff --git a/src/xml_attribute.cc b/src/xml_attribute.cc
-index 1c2bae7..c71f567 100644
---- a/src/xml_attribute.cc
-+++ b/src/xml_attribute.cc
-@@ -23,7 +23,7 @@ XmlAttribute::New(xmlNode* xml_obj, const xmlChar* name, const xmlChar*
value)
- }
-
- XmlAttribute* attribute = new XmlAttribute(attr);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- attribute->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -39,7 +39,7 @@ XmlAttribute::New(xmlAttr* attr)
- }
-
- XmlAttribute* attribute = new XmlAttribute(attr);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- attribute->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -59,7 +59,7 @@ NAN_METHOD(XmlAttribute::Value) {
-
- // attr.value('new value');
- if (info.Length() > 0) {
-- attr->set_value(*v8::String::Utf8Value(info[0]));
-+ attr->set_value(*Nan::Utf8String(info[0]));
- return info.GetReturnValue().Set(info.Holder());
- }
-
-@@ -153,7 +153,7 @@ XmlAttribute::get_namespace() {
- }
-
- void
--XmlAttribute::Initialize(v8::Handle<v8::Object> target) {
-+XmlAttribute::Initialize(v8::Local<v8::Object> target) {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> tmpl =
- Nan::New<v8::FunctionTemplate>(XmlAttribute::New);
-@@ -167,7 +167,7 @@ XmlAttribute::Initialize(v8::Handle<v8::Object> target) {
- Nan::SetPrototypeMethod(tmpl, "namespace", XmlAttribute::Namespace);
-
- Nan::Set(target, Nan::New<v8::String>("Attribute").ToLocalChecked(),
-- tmpl->GetFunction());
-+ Nan::GetFunction(tmpl).ToLocalChecked());
- }
-
- } // namespace libxmljs
-diff --git a/src/xml_attribute.h b/src/xml_attribute.h
-index 6367469..787c2be 100644
---- a/src/xml_attribute.h
-+++ b/src/xml_attribute.h
-@@ -14,7 +14,7 @@ public:
- explicit XmlAttribute(xmlAttr* node) :
- XmlNode(reinterpret_cast<xmlNode*>(node)) {}
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
- static v8::Local<v8::Object> New(xmlNode* xml_obj,
-diff --git a/src/xml_comment.cc b/src/xml_comment.cc
-index 704b2fe..f832781 100644
---- a/src/xml_comment.cc
-+++ b/src/xml_comment.cc
-@@ -23,14 +23,14 @@ NAN_METHOD(XmlComment::New) {
- return info.GetReturnValue().Set(info.Holder());
- }
-
-- XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(document);
-
- v8::Local<v8::Value> contentOpt;
- if (info[1]->IsString()) {
- contentOpt = info[1];
- }
-- v8::String::Utf8Value contentRaw(contentOpt);
-+ Nan::Utf8String contentRaw(contentOpt);
- const char* content = (contentRaw.length()) ? *contentRaw : NULL;
-
- xmlNode* comm = xmlNewDocComment(document->xml_obj, (xmlChar *) content);
-@@ -40,7 +40,7 @@ NAN_METHOD(XmlComment::New) {
- comment->Wrap(info.Holder());
-
- // this prevents the document from going away
--
info.Holder()->Set(Nan::New<v8::String>("document").ToLocalChecked(),
info[0]);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("document").ToLocalChecked(), info[0]);
-
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -53,7 +53,7 @@ NAN_METHOD(XmlComment::Text) {
- if (info.Length() == 0) {
- return info.GetReturnValue().Set(comment->get_content());
- } else {
-- comment->set_content(*v8::String::Utf8Value(info[0]));
-+ comment->set_content(*Nan::Utf8String(info[0]));
- }
-
- return info.GetReturnValue().Set(info.Holder());
-@@ -87,7 +87,7 @@ XmlComment::New(xmlNode* node)
- }
-
- XmlComment* comment = new XmlComment(node);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- comment->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -98,7 +98,7 @@ XmlComment::XmlComment(xmlNode* node)
- }
-
- void
--XmlComment::Initialize(v8::Handle<v8::Object> target)
-+XmlComment::Initialize(v8::Local<v8::Object> target)
- {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> t =
Nan::New<v8::FunctionTemplate>(static_cast<NAN_METHOD((*))>(New));
-@@ -111,7 +111,7 @@ XmlComment::Initialize(v8::Handle<v8::Object> target)
- XmlComment::Text);
-
- Nan::Set(target, Nan::New<v8::String>("Comment").ToLocalChecked(),
-- t->GetFunction());
-+ Nan::GetFunction(t).ToLocalChecked());
- }
-
- } // namespace libxmljs
-diff --git a/src/xml_comment.h b/src/xml_comment.h
-index 5eed4a6..0eecb70 100644
---- a/src/xml_comment.h
-+++ b/src/xml_comment.h
-@@ -11,7 +11,7 @@ public:
-
- explicit XmlComment(xmlNode* node);
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
-
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
-diff --git a/src/xml_document.cc b/src/xml_document.cc
-index 46e68b4..cb281e2 100644
---- a/src/xml_document.cc
-+++ b/src/xml_document.cc
-@@ -38,7 +38,7 @@ NAN_METHOD(XmlDocument::Encoding)
- }
-
- // set the encoding otherwise
-- v8::String::Utf8Value encoding(info[0]->ToString());
-+ Nan::Utf8String encoding(Nan::To<v8::String>(info[0]).ToLocalChecked());
- if(document->xml_obj->encoding != NULL) {
- xmlFree((xmlChar*)document->xml_obj->encoding);
- }
-@@ -82,7 +82,7 @@ NAN_METHOD(XmlDocument::Root)
-
- // set the element as the root element for the document
- // allows for proper retrieval of root later
-- XmlElement* element =
Nan::ObjectWrap::Unwrap<XmlElement>(info[0]->ToObject());
-+ XmlElement* element =
Nan::ObjectWrap::Unwrap<XmlElement>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(element);
- xmlDocSetRootElement(document->xml_obj, element->xml_obj);
- element->ref_wrapped_ancestor();
-@@ -140,7 +140,7 @@ NAN_METHOD(XmlDocument::SetDtd)
- XmlDocument* document = Nan::ObjectWrap::Unwrap<XmlDocument>(info.Holder());
- assert(document);
-
-- v8::String::Utf8Value name(info[0]);
-+ Nan::Utf8String name(info[0]);
-
- v8::Local<v8::Value> extIdOpt;
- v8::Local<v8::Value> sysIdOpt;
-@@ -151,8 +151,8 @@ NAN_METHOD(XmlDocument::SetDtd)
- sysIdOpt = info[2];
- }
-
-- v8::String::Utf8Value extIdRaw(extIdOpt);
-- v8::String::Utf8Value sysIdRaw(sysIdOpt);
-+ Nan::Utf8String extIdRaw(extIdOpt);
-+ Nan::Utf8String sysIdRaw(sysIdOpt);
-
- //must be set to null in order for xmlCreateIntSubset to ignore them
- const char* extId = (extIdRaw.length()) ? *extIdRaw : NULL;
-@@ -180,38 +180,38 @@ NAN_METHOD(XmlDocument::ToString)
-
- if (info.Length() > 0) {
- if (info[0]->IsBoolean()) {
-- if (info[0]->ToBoolean()->BooleanValue() == true) {
-+ if (Nan::To<v8::Boolean>(info[0]).ToLocalChecked()->Value() == true) {
- options |= XML_SAVE_FORMAT;
- }
- } else if (info[0]->IsObject()) {
-- v8::Local<v8::Object> obj = info[0]->ToObject();
-+ v8::Local<v8::Object> obj =
Nan::To<v8::Object>(info[0]).ToLocalChecked();
-
- // drop the xml declaration
-- if
(obj->Get(Nan::New<v8::String>("declaration").ToLocalChecked())->IsFalse())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("declaration").ToLocalChecked()).ToLocalChecked()->IsFalse())
{
- options |= XML_SAVE_NO_DECL;
- }
-
- // format save output
-- if
(obj->Get(Nan::New<v8::String>("format").ToLocalChecked())->IsTrue())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("format").ToLocalChecked()).ToLocalChecked()->IsTrue())
{
- options |= XML_SAVE_FORMAT;
- }
-
- // no empty tags (only works with XML) ex: <title></title> becomes
<title/>
-- if
(obj->Get(Nan::New<v8::String>("selfCloseEmpty").ToLocalChecked())->IsFalse())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("selfCloseEmpty").ToLocalChecked()).ToLocalChecked()->IsFalse())
{
- options |= XML_SAVE_NO_EMPTY;
- }
-
- // format with non-significant whitespace
-- if
(obj->Get(Nan::New<v8::String>("whitespace").ToLocalChecked())->IsTrue())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("whitespace").ToLocalChecked()).ToLocalChecked()->IsTrue())
{
- options |= XML_SAVE_WSNONSIG;
- }
-
-- v8::Local<v8::Value> type =
obj->Get(Nan::New<v8::String>("type").ToLocalChecked());
-- if
(type->Equals(Nan::New<v8::String>("XML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("xml").ToLocalChecked())) {
-+ v8::Local<v8::Value> type = Nan::Get(obj,
Nan::New<v8::String>("type").ToLocalChecked()).ToLocalChecked();
-+ if (Nan::Equals(type,
Nan::New<v8::String>("XML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("xml").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_AS_XML; // force XML serialization on HTML doc
-- } else if
(type->Equals(Nan::New<v8::String>("HTML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("html").ToLocalChecked())) {
-+ } else if (Nan::Equals(type,
Nan::New<v8::String>("HTML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("html").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_AS_HTML; // force HTML serialization on XML doc
- // if the document is XML and we want formatted HTML output
- // we must use the XHTML serializer because the default HTML
-@@ -219,8 +219,8 @@ NAN_METHOD(XmlDocument::ToString)
- if ((options & XML_SAVE_FORMAT) && (options &
XML_SAVE_XHTML) == false) {
- options |= XML_SAVE_XHTML;
- }
-- } else if
(type->Equals(Nan::New<v8::String>("XHTML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("xhtml").ToLocalChecked())) {
-+ } else if (Nan::Equals(type,
Nan::New<v8::String>("XHTML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("xhtml").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_XHTML; // force XHTML serialization
- }
- }
-@@ -250,7 +250,7 @@ XmlDocument::New(xmlDoc* doc)
- return
scope.Escape(static_cast<XmlDocument*>(doc->_private)->handle());
- }
-
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
-
- XmlDocument* document = Nan::ObjectWrap::Unwrap<XmlDocument>(obj);
-
-@@ -268,8 +268,8 @@ XmlDocument::New(xmlDoc* doc)
-
- int getParserOption(v8::Local<v8::Object> props, const char *key, int value, bool
defaultValue = true) {
- Nan::HandleScope scope;
-- v8::Local<v8::Value> prop =
props->Get(Nan::New<v8::String>(key).ToLocalChecked());
-- return !prop->IsUndefined() && prop->ToBoolean()->BooleanValue() ==
defaultValue ? value : 0;
-+ v8::Local<v8::Value> prop = Nan::Get(props,
Nan::New<v8::String>(key).ToLocalChecked()).ToLocalChecked();
-+ return !prop->IsUndefined() &&
Nan::To<v8::Boolean>(prop).ToLocalChecked()->Value() == defaultValue ? value :
0;
- }
-
- xmlParserOption getParserOptions(v8::Local<v8::Object> props) {
-@@ -342,16 +342,16 @@ NAN_METHOD(XmlDocument::FromHtml)
- {
- Nan::HandleScope scope;
-
-- v8::Local<v8::Object> options = info[1]->ToObject();
-- v8::Local<v8::Value> baseUrlOpt = options->Get(
-- Nan::New<v8::String>("baseUrl").ToLocalChecked());
-- v8::Local<v8::Value> encodingOpt = options->Get(
-- Nan::New<v8::String>("encoding").ToLocalChecked());
-- v8::Local<v8::Value> excludeImpliedElementsOpt = options->Get(
--
Nan::New<v8::String>("excludeImpliedElements").ToLocalChecked());
-+ v8::Local<v8::Object> options =
Nan::To<v8::Object>(info[1]).ToLocalChecked();
-+ v8::Local<v8::Value> baseUrlOpt = Nan::Get(options,
-+
Nan::New<v8::String>("baseUrl").ToLocalChecked()).ToLocalChecked();
-+ v8::Local<v8::Value> encodingOpt = Nan::Get(options,
-+
Nan::New<v8::String>("encoding").ToLocalChecked()).ToLocalChecked();
-+ v8::Local<v8::Value> excludeImpliedElementsOpt = Nan::Get(options,
-+
Nan::New<v8::String>("excludeImpliedElements").ToLocalChecked()).ToLocalChecked();
-
- // the base URL that will be used for this HTML parsed document
-- v8::String::Utf8Value baseUrl_(baseUrlOpt->ToString());
-+ Nan::Utf8String baseUrl_(Nan::To<v8::String>(baseUrlOpt).ToLocalChecked());
- const char * baseUrl = *baseUrl_;
- if (!baseUrlOpt->IsString()) {
- baseUrl = NULL;
-@@ -359,7 +359,7 @@ NAN_METHOD(XmlDocument::FromHtml)
-
- // the encoding to be used for this document
- // (leave NULL for libxml to autodetect)
-- v8::String::Utf8Value encoding_(encodingOpt->ToString());
-+ Nan::Utf8String encoding_(Nan::To<v8::String>(encodingOpt).ToLocalChecked());
- const char * encoding = *encoding_;
-
- if (!encodingOpt->IsString()) {
-@@ -371,18 +371,18 @@ NAN_METHOD(XmlDocument::FromHtml)
- xmlSetStructuredErrorFunc(reinterpret_cast<void*>(&errors),
XmlSyntaxError::PushToArray);
-
- int opts = (int)getParserOptions(options);
-- if (excludeImpliedElementsOpt->ToBoolean()->Value())
-+ if
(Nan::To<v8::Boolean>(excludeImpliedElementsOpt).ToLocalChecked()->Value())
- opts |= HTML_PARSE_NOIMPLIED | HTML_PARSE_NODEFDTD;
-
- htmlDocPtr doc;
- if (!node::Buffer::HasInstance(info[0])) {
- // Parse a string
-- v8::String::Utf8Value str(info[0]->ToString());
-+ Nan::Utf8String str(Nan::To<v8::String>(info[0]).ToLocalChecked());
- doc = htmlReadMemory(*str, str.length(), baseUrl, encoding, opts);
- }
- else {
- // Parse a buffer
-- v8::Local<v8::Object> buf = info[0]->ToObject();
-+ v8::Local<v8::Object> buf =
Nan::To<v8::Object>(info[0]).ToLocalChecked();
- doc = htmlReadMemory(node::Buffer::Data(buf), node::Buffer::Length(buf),
- baseUrl, encoding, opts);
- }
-@@ -416,14 +416,14 @@ NAN_METHOD(XmlDocument::FromXml)
- xmlSetStructuredErrorFunc(reinterpret_cast<void *>(&errors),
- XmlSyntaxError::PushToArray);
-
-- v8::Local<v8::Object> options = info[1]->ToObject();
-- v8::Local<v8::Value> baseUrlOpt = options->Get(
-- Nan::New<v8::String>("baseUrl").ToLocalChecked());
-- v8::Local<v8::Value> encodingOpt = options->Get(
-- Nan::New<v8::String>("encoding").ToLocalChecked());
-+ v8::Local<v8::Object> options =
Nan::To<v8::Object>(info[1]).ToLocalChecked();
-+ v8::Local<v8::Value> baseUrlOpt = Nan::Get(options,
-+
Nan::New<v8::String>("baseUrl").ToLocalChecked()).ToLocalChecked();
-+ v8::Local<v8::Value> encodingOpt = Nan::Get(options,
-+
Nan::New<v8::String>("encoding").ToLocalChecked()).ToLocalChecked();
-
- // the base URL that will be used for this document
-- v8::String::Utf8Value baseUrl_(baseUrlOpt->ToString());
-+ Nan::Utf8String baseUrl_(Nan::To<v8::String>(baseUrlOpt).ToLocalChecked());
- const char * baseUrl = *baseUrl_;
- if (!baseUrlOpt->IsString()) {
- baseUrl = NULL;
-@@ -431,7 +431,7 @@ NAN_METHOD(XmlDocument::FromXml)
-
- // the encoding to be used for this document
- // (leave NULL for libxml to autodetect)
-- v8::String::Utf8Value encoding_(encodingOpt->ToString());
-+ Nan::Utf8String encoding_(Nan::To<v8::String>(encodingOpt).ToLocalChecked());
- const char * encoding = *encoding_;
- if (!encodingOpt->IsString()) {
- encoding = NULL;
-@@ -441,12 +441,12 @@ NAN_METHOD(XmlDocument::FromXml)
- xmlDocPtr doc;
- if (!node::Buffer::HasInstance(info[0])) {
- // Parse a string
-- v8::String::Utf8Value str(info[0]->ToString());
-+ Nan::Utf8String str(Nan::To<v8::String>(info[0]).ToLocalChecked());
- doc = xmlReadMemory(*str, str.length(), baseUrl, "UTF-8", opts);
- }
- else {
- // Parse a buffer
-- v8::Local<v8::Object> buf = info[0]->ToObject();
-+ v8::Local<v8::Object> buf =
Nan::To<v8::Object>(info[0]).ToLocalChecked();
- doc = xmlReadMemory(node::Buffer::Data(buf), node::Buffer::Length(buf),
- baseUrl, encoding, opts);
- }
-@@ -483,7 +483,7 @@ NAN_METHOD(XmlDocument::Validate)
- XmlSyntaxError::PushToArray);
-
- XmlDocument* document = Nan::ObjectWrap::Unwrap<XmlDocument>(info.Holder());
-- XmlDocument* documentSchema =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* documentSchema =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
-
- xmlSchemaParserCtxtPtr parser_ctxt =
xmlSchemaNewDocParserCtxt(documentSchema->xml_obj);
- if (parser_ctxt == NULL) {
-@@ -500,7 +500,7 @@ NAN_METHOD(XmlDocument::Validate)
- bool valid = xmlSchemaValidateDoc(valid_ctxt, document->xml_obj) == 0;
-
- xmlSetStructuredErrorFunc(NULL, NULL);
--
info.Holder()->Set(Nan::New<v8::String>("validationErrors").ToLocalChecked(),
errors);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("validationErrors").ToLocalChecked(), errors);
-
- xmlSchemaFreeValidCtxt(valid_ctxt);
- xmlSchemaFree(schema);
-@@ -519,7 +519,7 @@ NAN_METHOD(XmlDocument::RngValidate)
- XmlSyntaxError::PushToArray);
-
- XmlDocument* document = Nan::ObjectWrap::Unwrap<XmlDocument>(info.Holder());
-- XmlDocument* documentSchema =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* documentSchema =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
-
- xmlRelaxNGParserCtxtPtr parser_ctxt =
xmlRelaxNGNewDocParserCtxt(documentSchema->xml_obj);
- if (parser_ctxt == NULL) {
-@@ -538,7 +538,7 @@ NAN_METHOD(XmlDocument::RngValidate)
- bool valid = xmlRelaxNGValidateDoc(valid_ctxt, document->xml_obj) == 0;
-
- xmlSetStructuredErrorFunc(NULL, NULL);
--
info.Holder()->Set(Nan::New<v8::String>("validationErrors").ToLocalChecked(),
errors);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("validationErrors").ToLocalChecked(), errors);
-
- xmlRelaxNGFreeValidCtxt(valid_ctxt);
- xmlRelaxNGFree(schema);
-@@ -553,7 +553,7 @@ NAN_METHOD(XmlDocument::New)
- {
- Nan::HandleScope scope;
-
-- v8::String::Utf8Value version(info[0]->ToString());
-+ Nan::Utf8String version(Nan::To<v8::String>(info[0]).ToLocalChecked());
- xmlDoc* doc = xmlNewDoc((const xmlChar*)(*version));
-
- XmlDocument* document = new XmlDocument(doc);
-@@ -575,7 +575,7 @@ XmlDocument::~XmlDocument()
- }
-
- void
--XmlDocument::Initialize(v8::Handle<v8::Object> target)
-+XmlDocument::Initialize(v8::Local<v8::Object> target)
- {
- Nan::HandleScope scope;
-
-@@ -621,7 +621,7 @@ XmlDocument::Initialize(v8::Handle<v8::Object> target)
- Nan::SetMethod(target, "fromHtml", XmlDocument::FromHtml);
-
- // used to create new document handles
-- Nan::Set(target, Nan::New<v8::String>("Document").ToLocalChecked(),
tmpl->GetFunction());
-+ Nan::Set(target, Nan::New<v8::String>("Document").ToLocalChecked(),
Nan::GetFunction(tmpl).ToLocalChecked());
-
- XmlNode::Initialize(target);
- XmlNamespace::Initialize(target);
-diff --git a/src/xml_document.h b/src/xml_document.h
-index 5958db2..0e2872e 100644
---- a/src/xml_document.h
-+++ b/src/xml_document.h
-@@ -20,7 +20,7 @@ public:
- virtual ~XmlDocument();
-
- // setup the document handle bindings and internal constructor
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
-
- // create a new document handle initialized with the
- // given xmlDoc object, intended for use in c++ space
-diff --git a/src/xml_element.cc b/src/xml_element.cc
-index 9e7ddeb..3d147ba 100644
---- a/src/xml_element.cc
-+++ b/src/xml_element.cc
-@@ -26,16 +26,16 @@ NAN_METHOD(XmlElement::New) {
- return info.GetReturnValue().Set(info.Holder());
- }
-
-- XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(document);
-
-- v8::String::Utf8Value name(info[1]);
-+ Nan::Utf8String name(info[1]);
-
- v8::Local<v8::Value> contentOpt;
- if(info[2]->IsString()) {
- contentOpt = info[2];
- }
-- v8::String::Utf8Value contentRaw(contentOpt);
-+ Nan::Utf8String contentRaw(contentOpt);
- const char* content = (contentRaw.length()) ? *contentRaw : NULL;
-
- xmlChar* encodedContent = content ? xmlEncodeSpecialChars(document->xml_obj, (const
xmlChar*)content) : NULL;
-@@ -51,7 +51,7 @@ NAN_METHOD(XmlElement::New) {
- element->Wrap(info.Holder());
-
- // this prevents the document from going away
--
info.Holder()->Set(Nan::New<v8::String>("document").ToLocalChecked(),
info[0]);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("document").ToLocalChecked(), info[0]);
-
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -64,7 +64,7 @@ NAN_METHOD(XmlElement::Name) {
- if (info.Length() == 0)
- return info.GetReturnValue().Set(element->get_name());
-
-- v8::String::Utf8Value name(info[0]->ToString());
-+ Nan::Utf8String name(Nan::To<v8::String>(info[0]).ToLocalChecked());
- element->set_name(*name);
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -77,13 +77,13 @@ NAN_METHOD(XmlElement::Attr) {
- // getter
- if (info.Length() == 1)
- {
-- v8::String::Utf8Value name(info[0]);
-+ Nan::Utf8String name(info[0]);
- return info.GetReturnValue().Set(element->get_attr(*name));
- }
-
- // setter
-- v8::String::Utf8Value name(info[0]->ToString());
-- v8::String::Utf8Value value(info[1]->ToString());
-+ Nan::Utf8String name(Nan::To<v8::String>(info[0]).ToLocalChecked());
-+ Nan::Utf8String value(Nan::To<v8::String>(info[1]).ToLocalChecked());
- element->set_attr(*name, *value);
-
- return info.GetReturnValue().Set(info.Holder());
-@@ -101,7 +101,7 @@ NAN_METHOD(XmlElement::AddChild) {
- XmlElement* element = Nan::ObjectWrap::Unwrap<XmlElement>(info.Holder());
- assert(element);
-
-- XmlNode* child = Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* child =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(child);
-
- xmlNode *imported_child = element->import_node(child->xml_obj);
-@@ -133,7 +133,7 @@ NAN_METHOD(XmlElement::AddCData) {
- if(info[0]->IsString()) {
- contentOpt = info[0];
- }
-- v8::String::Utf8Value contentRaw(contentOpt);
-+ Nan::Utf8String contentRaw(contentOpt);
- const char* content = (contentRaw.length()) ? *contentRaw : NULL;
-
- xmlNode* elem = xmlNewCDataBlock(element->xml_obj->doc,
-@@ -149,23 +149,23 @@ NAN_METHOD(XmlElement::Find) {
- XmlElement* element = Nan::ObjectWrap::Unwrap<XmlElement>(info.Holder());
- assert(element);
-
-- v8::String::Utf8Value xpath(info[0]);
-+ Nan::Utf8String xpath(info[0]);
-
- XmlXpathContext ctxt(element->xml_obj);
-
- if (info.Length() == 2) {
- if (info[1]->IsString()) {
-- v8::String::Utf8Value uri(info[1]);
-+ Nan::Utf8String uri(info[1]);
- ctxt.register_ns((const xmlChar*)"xmlns", (const xmlChar*)*uri);
-
- } else if (info[1]->IsObject()) {
-- v8::Local<v8::Object> namespaces = info[1]->ToObject();
-- v8::Local<v8::Array> properties = namespaces->GetPropertyNames();
-+ v8::Local<v8::Object> namespaces =
Nan::To<v8::Object>(info[1]).ToLocalChecked();
-+ v8::Local<v8::Array> properties =
Nan::GetPropertyNames(namespaces).ToLocalChecked();
- for (unsigned int i = 0; i < properties->Length(); i++) {
-- v8::Local<v8::String> prop_name = properties->Get(
-- Nan::New<v8::Number>(i))->ToString();
-- v8::String::Utf8Value prefix(prop_name);
-- v8::String::Utf8Value uri(namespaces->Get(prop_name));
-+ v8::Local<v8::String> prop_name =
Nan::To<v8::String>(Nan::Get(properties,
-+ Nan::New<v8::Number>(i)).ToLocalChecked()).ToLocalChecked();
-+ Nan::Utf8String prefix(prop_name);
-+ Nan::Utf8String uri(Nan::Get(namespaces, prop_name).ToLocalChecked());
- ctxt.register_ns((const xmlChar*)*prefix, (const xmlChar*)*uri);
- }
- }
-@@ -198,7 +198,7 @@ NAN_METHOD(XmlElement::Text) {
- if (info.Length() == 0) {
- return info.GetReturnValue().Set(element->get_content());
- } else {
-- element->set_content(*v8::String::Utf8Value(info[0]));
-+ element->set_content(*Nan::Utf8String(info[0]));
- }
-
- return info.GetReturnValue().Set(info.Holder());
-@@ -214,7 +214,7 @@ NAN_METHOD(XmlElement::Child) {
- return Nan::ThrowError("Bad argument: must provide #child() with a
number");
- }
-
-- const int32_t idx = info[0]->Int32Value();
-+ const int32_t idx = Nan::To<v8::Int32>(info[0]).ToLocalChecked()->Value();
- return info.GetReturnValue().Set(element->get_child(idx));
- }
-
-@@ -224,7 +224,7 @@ NAN_METHOD(XmlElement::ChildNodes) {
- assert(element);
-
- if (info[0]->IsInt32())
-- return
info.GetReturnValue().Set(element->get_child(info[0]->Int32Value()));
-+ return
info.GetReturnValue().Set(element->get_child(Nan::To<v8::Int32>(info[0]).ToLocalChecked()->Value()));
-
- return info.GetReturnValue().Set(element->get_child_nodes());
- }
-@@ -241,7 +241,7 @@ NAN_METHOD(XmlElement::AddPrevSibling) {
- XmlElement* element = Nan::ObjectWrap::Unwrap<XmlElement>(info.Holder());
- assert(element);
-
-- XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = element->import_node(new_sibling->xml_obj);
-@@ -266,7 +266,7 @@ NAN_METHOD(XmlElement::AddNextSibling) {
- XmlElement* element = Nan::ObjectWrap::Unwrap<XmlElement>(info.Holder());
- assert(element);
-
-- XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = element->import_node(new_sibling->xml_obj);
-@@ -292,9 +292,9 @@ NAN_METHOD(XmlElement::Replace) {
- assert(element);
-
- if (info[0]->IsString()) {
-- element->replace_text(*v8::String::Utf8Value(info[0]));
-+ element->replace_text(*Nan::Utf8String(info[0]));
- } else {
-- XmlElement* new_sibling =
Nan::ObjectWrap::Unwrap<XmlElement>(info[0]->ToObject());
-+ XmlElement* new_sibling =
Nan::ObjectWrap::Unwrap<XmlElement>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = element->import_node(new_sibling->xml_obj);
-@@ -352,11 +352,11 @@ XmlElement::get_attrs() {
-
- v8::Local<v8::Array> attributes = Nan::New<v8::Array>();
- v8::Local<v8::Function> push = v8::Local<v8::Function>::Cast(
-- attributes->Get(Nan::New<v8::String>("push").ToLocalChecked()));
-+ Nan::Get(attributes,
Nan::New<v8::String>("push").ToLocalChecked()).ToLocalChecked());
- v8::Local<v8::Value> argv[1];
- do {
- argv[0] = XmlAttribute::New(attr);
-- push->Call(attributes, 1, argv);
-+ Nan::Call(push, attributes, 1, argv);
- } while ((attr = attr->next));
-
- return scope.Escape(attributes);
-@@ -500,7 +500,7 @@ XmlElement::New(xmlNode* node)
- }
-
- XmlElement* element = new XmlElement(node);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- element->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -553,7 +553,7 @@ XmlElement::prev_sibling_will_merge(xmlNode *child) {
- }
-
- void
--XmlElement::Initialize(v8::Handle<v8::Object> target)
-+XmlElement::Initialize(v8::Local<v8::Object> target)
- {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> tmpl =
-@@ -623,7 +623,7 @@ XmlElement::Initialize(v8::Handle<v8::Object> target)
- XmlElement::Replace);
-
- Nan::Set(target, Nan::New<v8::String>("Element").ToLocalChecked(),
-- tmpl->GetFunction());
-+ Nan::GetFunction(tmpl).ToLocalChecked());
-
- }
-
-diff --git a/src/xml_element.h b/src/xml_element.h
-index 808b0a2..43e82e3 100644
---- a/src/xml_element.h
-+++ b/src/xml_element.h
-@@ -12,7 +12,7 @@ public:
-
- explicit XmlElement(xmlNode* node);
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
-
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
-diff --git a/src/xml_namespace.cc b/src/xml_namespace.cc
-index 89e9bc6..fc45557 100644
---- a/src/xml_namespace.cc
-+++ b/src/xml_namespace.cc
-@@ -23,17 +23,17 @@ NAN_METHOD(XmlNamespace::New) {
- if (!info[0]->IsObject())
- return Nan::ThrowError("You must provide a node to attach this namespace
to");
-
-- XmlNode* node = Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* node =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
-
-- v8::String::Utf8Value* prefix = 0;
-- v8::String::Utf8Value* href = 0;
-+ Nan::Utf8String* prefix = 0;
-+ Nan::Utf8String* href = 0;
-
- if (info[1]->IsString())
- {
-- prefix = new v8::String::Utf8Value(info[1]);
-+ prefix = new Nan::Utf8String(info[1]);
- }
-
-- href = new v8::String::Utf8Value(info[2]);
-+ href = new Nan::Utf8String(info[2]);
-
- xmlNs* ns = xmlNewNs(node->xml_obj,
- (const xmlChar*)(href->operator*()),
-@@ -57,7 +57,7 @@ XmlNamespace::New(xmlNs* node)
- }
-
- XmlNamespace* ns = new XmlNamespace(node);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- ns->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -146,7 +146,7 @@ XmlNamespace::get_prefix() {
- }
-
- void
--XmlNamespace::Initialize(v8::Handle<v8::Object> target) {
-+XmlNamespace::Initialize(v8::Local<v8::Object> target) {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> tmpl =
- Nan::New<v8::FunctionTemplate>(New);
-@@ -162,6 +162,6 @@ XmlNamespace::Initialize(v8::Handle<v8::Object> target) {
- XmlNamespace::Prefix);
-
- Nan::Set(target, Nan::New<v8::String>("Namespace").ToLocalChecked(),
-- tmpl->GetFunction());
-+ Nan::GetFunction(tmpl).ToLocalChecked());
- }
- } // namespace libxmljs
-diff --git a/src/xml_namespace.h b/src/xml_namespace.h
-index 59b0a29..2b31ebe 100644
---- a/src/xml_namespace.h
-+++ b/src/xml_namespace.h
-@@ -16,7 +16,7 @@ public:
-
- xmlDoc* context; // reference-managed context
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
- explicit XmlNamespace(xmlNs* ns);
-diff --git a/src/xml_node.cc b/src/xml_node.cc
-index 52321e2..e84846c 100644
---- a/src/xml_node.cc
-+++ b/src/xml_node.cc
-@@ -43,12 +43,12 @@ NAN_METHOD(XmlNode::Namespace) {
- // #namespace(ns) libxml.Namespace object was provided
- // TODO(sprsquish): check that it was actually given a namespace obj
- if (info[0]->IsObject())
-- ns = Nan::ObjectWrap::Unwrap<XmlNamespace>(info[0]->ToObject());
-+ ns =
Nan::ObjectWrap::Unwrap<XmlNamespace>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
-
- // #namespace(href) or #namespace(prefix, href)
- // if the namespace has already been defined on the node, just set it
- if (info[0]->IsString()) {
-- v8::String::Utf8Value ns_to_find(info[0]->ToString());
-+ Nan::Utf8String ns_to_find(Nan::To<v8::String>(info[0]).ToLocalChecked());
- xmlNs* found_ns = node->find_namespace(*ns_to_find);
- if (found_ns) {
- // maybe build
-@@ -72,13 +72,13 @@ NAN_METHOD(XmlNode::Namespace) {
- }
-
- v8::Local<v8::Function> define_namespace =
-- Nan::New(XmlNamespace::constructor_template)->GetFunction();
-+
Nan::GetFunction(Nan::New(XmlNamespace::constructor_template)).ToLocalChecked();
-
- // will create a new namespace attached to this node
- // since we keep the document around, the namespace, like the node, won't be
- // garbage collected
- v8::Local<v8::Value> new_ns = Nan::NewInstance(define_namespace, argc,
argv).ToLocalChecked();
-- ns = Nan::ObjectWrap::Unwrap<XmlNamespace>(new_ns->ToObject());
-+ ns =
Nan::ObjectWrap::Unwrap<XmlNamespace>(Nan::To<v8::Object>(new_ns).ToLocalChecked());
- }
-
- node->set_namespace(ns->xml_obj);
-@@ -147,38 +147,38 @@ NAN_METHOD(XmlNode::ToString) {
-
- if (info.Length() > 0) {
- if (info[0]->IsBoolean()) {
-- if (info[0]->ToBoolean()->BooleanValue() == true) {
-+ if (Nan::To<v8::Boolean>(info[0]).ToLocalChecked()->Value() == true)
{
- options |= XML_SAVE_FORMAT;
- }
- } else if (info[0]->IsObject()) {
-- v8::Local<v8::Object> obj = info[0]->ToObject();
-+ v8::Local<v8::Object> obj =
Nan::To<v8::Object>(info[0]).ToLocalChecked();
-
- // drop the xml declaration
-- if
(obj->Get(Nan::New<v8::String>("declaration").ToLocalChecked())->IsFalse())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("declaration").ToLocalChecked()).ToLocalChecked()->IsFalse())
{
- options |= XML_SAVE_NO_DECL;
- }
-
- // format save output
-- if
(obj->Get(Nan::New<v8::String>("format").ToLocalChecked())->IsTrue())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("format").ToLocalChecked()).ToLocalChecked()->IsTrue())
{
- options |= XML_SAVE_FORMAT;
- }
-
- // no empty tags (only works with XML) ex: <title></title> becomes
<title/>
-- if
(obj->Get(Nan::New<v8::String>("selfCloseEmpty").ToLocalChecked())->IsFalse())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("selfCloseEmpty").ToLocalChecked()).ToLocalChecked()->IsFalse())
{
- options |= XML_SAVE_NO_EMPTY;
- }
-
- // format with non-significant whitespace
-- if
(obj->Get(Nan::New<v8::String>("whitespace").ToLocalChecked())->IsTrue())
{
-+ if (Nan::Get(obj,
Nan::New<v8::String>("whitespace").ToLocalChecked()).ToLocalChecked()->IsTrue())
{
- options |= XML_SAVE_WSNONSIG;
- }
-
-- v8::Local<v8::Value> type =
obj->Get(Nan::New<v8::String>("type").ToLocalChecked());
-- if
(type->Equals(Nan::New<v8::String>("XML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("xml").ToLocalChecked())) {
-+ v8::Local<v8::Value> type = Nan::Get(obj,
Nan::New<v8::String>("type").ToLocalChecked()).ToLocalChecked();
-+ if (Nan::Equals(type,
Nan::New<v8::String>("XML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("xml").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_AS_XML; // force XML serialization on HTML doc
-- } else if
(type->Equals(Nan::New<v8::String>("HTML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("html").ToLocalChecked())) {
-+ } else if (Nan::Equals(type,
Nan::New<v8::String>("HTML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("html").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_AS_HTML; // force HTML serialization on XML doc
- // if the document is XML and we want formatted HTML output
- // we must use the XHTML serializer because the default HTML
-@@ -186,8 +186,8 @@ NAN_METHOD(XmlNode::ToString) {
- if ((options & XML_SAVE_FORMAT) && (options &
XML_SAVE_XHTML) == false) {
- options |= XML_SAVE_XHTML;
- }
-- } else if
(type->Equals(Nan::New<v8::String>("XHTML").ToLocalChecked()) ||
--
type->Equals(Nan::New<v8::String>("xhtml").ToLocalChecked())) {
-+ } else if (Nan::Equals(type,
Nan::New<v8::String>("XHTML").ToLocalChecked()).ToChecked() ||
-+ Nan::Equals(type,
Nan::New<v8::String>("xhtml").ToLocalChecked()).ToChecked()) {
- options |= XML_SAVE_XHTML; // force XHTML serialization
- }
- }
-@@ -213,7 +213,7 @@ NAN_METHOD(XmlNode::Clone) {
- bool recurse = true;
-
- if (info.Length() == 1 && info[0]->IsBoolean())
-- recurse = info[0]->ToBoolean()->BooleanValue();
-+ recurse = Nan::To<v8::Boolean>(info[0]).ToLocalChecked()->Value();
-
- return info.GetReturnValue().Set(node->clone(recurse));
- }
-@@ -729,7 +729,7 @@ XmlNode::get_type() {
- }
-
- void
--XmlNode::Initialize(v8::Handle<v8::Object> target) {
-+XmlNode::Initialize(v8::Local<v8::Object> target) {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> tmpl = Nan::New<v8::FunctionTemplate>();
- constructor_template.Reset( tmpl);
-diff --git a/src/xml_node.h b/src/xml_node.h
-index e5c873d..e447ffa 100644
---- a/src/xml_node.h
-+++ b/src/xml_node.h
-@@ -29,7 +29,7 @@ public:
- explicit XmlNode(xmlNode* node);
- virtual ~XmlNode();
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
- // create new XmlElement, XmlAttribute, etc. to wrap a libxml xmlNode
-diff --git a/src/xml_pi.cc b/src/xml_pi.cc
-index 1f8f200..788f176 100644
---- a/src/xml_pi.cc
-+++ b/src/xml_pi.cc
-@@ -23,16 +23,16 @@ NAN_METHOD(XmlProcessingInstruction::New) {
- return info.GetReturnValue().Set(info.Holder());
- }
-
-- XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(document);
-
-- v8::String::Utf8Value name(info[1]);
-+ Nan::Utf8String name(info[1]);
-
- v8::Local<v8::Value> contentOpt;
- if (info[2]->IsString()) {
- contentOpt = info[2];
- }
-- v8::String::Utf8Value contentRaw(contentOpt);
-+ Nan::Utf8String contentRaw(contentOpt);
- const char* content = (contentRaw.length()) ? *contentRaw : NULL;
-
- xmlNode* pi = xmlNewDocPI(document->xml_obj, (const xmlChar *) *name, (xmlChar *)
content);
-@@ -42,7 +42,7 @@ NAN_METHOD(XmlProcessingInstruction::New) {
- processing_instruction->Wrap(info.Holder());
-
- // this prevents the document from going away
--
info.Holder()->Set(Nan::New<v8::String>("document").ToLocalChecked(),
info[0]);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("document").ToLocalChecked(), info[0]);
-
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -55,7 +55,7 @@ NAN_METHOD(XmlProcessingInstruction::Name) {
- if (info.Length() == 0)
- return info.GetReturnValue().Set(processing_instruction->get_name());
-
-- v8::String::Utf8Value name(info[0]->ToString());
-+ Nan::Utf8String name(Nan::To<v8::String>(info[0]).ToLocalChecked());
- processing_instruction->set_name(*name);
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -68,7 +68,7 @@ NAN_METHOD(XmlProcessingInstruction::Text) {
- if (info.Length() == 0) {
- return info.GetReturnValue().Set(processing_instruction->get_content());
- } else {
-- processing_instruction->set_content(*v8::String::Utf8Value(info[0]));
-+ processing_instruction->set_content(*Nan::Utf8String(info[0]));
- }
-
- return info.GetReturnValue().Set(info.Holder());
-@@ -114,7 +114,7 @@ XmlProcessingInstruction::New(xmlNode* node)
- }
-
- XmlProcessingInstruction* processing_instruction = new
XmlProcessingInstruction(node);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- processing_instruction->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -125,7 +125,7 @@ XmlProcessingInstruction::XmlProcessingInstruction(xmlNode* node)
- }
-
- void
--XmlProcessingInstruction::Initialize(v8::Handle<v8::Object> target)
-+XmlProcessingInstruction::Initialize(v8::Local<v8::Object> target)
- {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> t =
Nan::New<v8::FunctionTemplate>(static_cast<NAN_METHOD((*))>(New));
-@@ -142,7 +142,7 @@ XmlProcessingInstruction::Initialize(v8::Handle<v8::Object>
target)
- XmlProcessingInstruction::Text);
-
- Nan::Set(target,
Nan::New<v8::String>("ProcessingInstruction").ToLocalChecked(),
-- t->GetFunction());
-+ Nan::GetFunction(t).ToLocalChecked());
- }
-
- } // namespace libxmljs
-diff --git a/src/xml_pi.h b/src/xml_pi.h
-index 91deb9a..754e84b 100644
---- a/src/xml_pi.h
-+++ b/src/xml_pi.h
-@@ -11,7 +11,7 @@ public:
-
- explicit XmlProcessingInstruction(xmlNode* node);
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
-
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
-diff --git a/src/xml_sax_parser.cc b/src/xml_sax_parser.cc
-index be8402f..ac76829 100644
---- a/src/xml_sax_parser.cc
-+++ b/src/xml_sax_parser.cc
-@@ -123,7 +123,7 @@ XmlSaxParser::Callback(const char* what,
- }
-
- // get the 'emit' function from ourselves
-- v8::Local<v8::Value> emit_v =
this->handle()->Get(Nan::New(emit_symbol));
-+ v8::Local<v8::Value> emit_v = Nan::Get(this->handle(),
Nan::New(emit_symbol)).ToLocalChecked();
- assert(emit_v->IsFunction());
-
- // trigger the event
-@@ -140,9 +140,9 @@ NAN_METHOD(XmlSaxParser::Push) {
-
- XmlSaxParser *parser = Nan::ObjectWrap::Unwrap<XmlSaxParser>(info.Holder());
-
-- v8::String::Utf8Value parsable(info[0]->ToString());
-+ Nan::Utf8String parsable(Nan::To<v8::String>(info[0]).ToLocalChecked());
-
-- bool terminate = info.Length() > 1 ? info[1]->ToBoolean()->Value() : false;
-+ bool terminate = info.Length() > 1 ?
Nan::To<v8::Boolean>(info[1]).ToLocalChecked()->Value() : false;
-
- parser->push(*parsable, parsable.length(), terminate);
-
-@@ -171,7 +171,7 @@ NAN_METHOD(XmlSaxParser::ParseString) {
-
- XmlSaxParser *parser = Nan::ObjectWrap::Unwrap<XmlSaxParser>(info.Holder());
-
-- v8::String::Utf8Value parsable(info[0]->ToString());
-+ Nan::Utf8String parsable(Nan::To<v8::String>(info[0]).ToLocalChecked());
- parser->parse_string(*parsable, parsable.length());
-
- // TODO(sprsquish): return based on the parser
-@@ -425,7 +425,7 @@ XmlSaxParser::error(void* context, const char* msg, ...)
- }
-
- void
--XmlSaxParser::Initialize(v8::Handle<v8::Object> target) {
-+XmlSaxParser::Initialize(v8::Local<v8::Object> target) {
- Nan::HandleScope scope;
-
- emit_symbol.Reset(Nan::New<v8::String>(EMIT_SYMBOL_STRING).ToLocalChecked());
-@@ -445,7 +445,7 @@ XmlSaxParser::Initialize(v8::Handle<v8::Object> target) {
- XmlSaxParser::ParseString);
-
- Nan::Set(target, Nan::New<v8::String>("SaxParser").ToLocalChecked(),
-- parser_t->GetFunction());
-+ Nan::GetFunction(parser_t).ToLocalChecked());
-
- v8::Local<v8::FunctionTemplate> push_parser_t =
- Nan::New<v8::FunctionTemplate>(NewPushParser);
-@@ -461,6 +461,6 @@ XmlSaxParser::Initialize(v8::Handle<v8::Object> target) {
- XmlSaxParser::Push);
-
- Nan::Set(target,
Nan::New<v8::String>("SaxPushParser").ToLocalChecked(),
-- push_parser_t->GetFunction());
-+ Nan::GetFunction(push_parser_t).ToLocalChecked());
- }
- } // namespace libxmljs
-diff --git a/src/xml_sax_parser.h b/src/xml_sax_parser.h
-index 6e1d457..88111c2 100644
---- a/src/xml_sax_parser.h
-+++ b/src/xml_sax_parser.h
-@@ -13,7 +13,7 @@ class XmlSaxParser : public Nan::ObjectWrap {
- virtual ~XmlSaxParser();
-
- static void
-- Initialize(v8::Handle<v8::Object> target);
-+ Initialize(v8::Local<v8::Object> target);
-
- static NAN_METHOD(NewParser);
-
-diff --git a/src/xml_syntax_error.cc b/src/xml_syntax_error.cc
-index d1f1b8c..8fb82ac 100644
---- a/src/xml_syntax_error.cc
-+++ b/src/xml_syntax_error.cc
-@@ -56,10 +56,10 @@ XmlSyntaxError::PushToArray(void* errs, xmlError* error) {
- Nan::HandleScope scope;
- v8::Local<v8::Array> errors =
*reinterpret_cast<v8::Local<v8::Array>*>(errs);
- // push method for array
-- v8::Local<v8::Function> push =
v8::Local<v8::Function>::Cast(errors->Get(Nan::New<v8::String>("push").ToLocalChecked()));
-+ v8::Local<v8::Function> push =
v8::Local<v8::Function>::Cast(Nan::Get(errors,
Nan::New<v8::String>("push").ToLocalChecked()).ToLocalChecked());
-
- v8::Local<v8::Value> argv[1] = { XmlSyntaxError::BuildSyntaxError(error) };
-- push->Call(errors, 1, argv);
-+ Nan::Call(push, errors, 1, argv);
- }
-
- } // namespace libxmljs
-diff --git a/src/xml_text.cc b/src/xml_text.cc
-index 9dc0662..84c7672 100644
---- a/src/xml_text.cc
-+++ b/src/xml_text.cc
-@@ -25,14 +25,14 @@ NAN_METHOD(XmlText::New) {
- return info.GetReturnValue().Set(info.Holder());
- }
-
-- XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(info[0]->ToObject());
-+ XmlDocument* document =
Nan::ObjectWrap::Unwrap<XmlDocument>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(document);
-
- v8::Local<v8::Value> contentOpt;
- if (info[1]->IsString()) {
- contentOpt = info[1];
- }
-- v8::String::Utf8Value contentRaw(contentOpt);
-+ Nan::Utf8String contentRaw(contentOpt);
- const char* content = (contentRaw.length()) ? *contentRaw : NULL;
-
- xmlChar* encodedContent = content ? xmlEncodeSpecialChars(document->xml_obj, (const
xmlChar*) content) : NULL;
-@@ -47,7 +47,7 @@ NAN_METHOD(XmlText::New) {
- element->Wrap(info.Holder());
-
- // this prevents the document from going away
--
info.Holder()->Set(Nan::New<v8::String>("document").ToLocalChecked(),
info[0]);
-+ Nan::Set(info.Holder(),
Nan::New<v8::String>("document").ToLocalChecked(), info[0]);
-
- return info.GetReturnValue().Set(info.Holder());
- }
-@@ -76,7 +76,7 @@ NAN_METHOD(XmlText::Text) {
- if (info.Length() == 0) {
- return info.GetReturnValue().Set(element->get_content());
- } else {
-- element->set_content(*v8::String::Utf8Value(info[0]));
-+ element->set_content(*Nan::Utf8String(info[0]));
- }
-
- return info.GetReturnValue().Set(info.Holder());
-@@ -86,7 +86,7 @@ NAN_METHOD(XmlText::AddPrevSibling) {
- XmlText* text = Nan::ObjectWrap::Unwrap<XmlText>(info.Holder());
- assert(text);
-
-- XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = text->import_node(new_sibling->xml_obj);
-@@ -105,7 +105,7 @@ NAN_METHOD(XmlText::AddNextSibling) {
- XmlText* text = Nan::ObjectWrap::Unwrap<XmlText>(info.Holder());
- assert(text);
-
-- XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(info[0]->ToObject());
-+ XmlNode* new_sibling =
Nan::ObjectWrap::Unwrap<XmlNode>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = text->import_node(new_sibling->xml_obj);
-@@ -125,9 +125,9 @@ NAN_METHOD(XmlText::Replace) {
- assert(element);
-
- if (info[0]->IsString()) {
-- element->replace_text(*v8::String::Utf8Value(info[0]));
-+ element->replace_text(*Nan::Utf8String(info[0]));
- } else {
-- XmlText* new_sibling =
Nan::ObjectWrap::Unwrap<XmlText>(info[0]->ToObject());
-+ XmlText* new_sibling =
Nan::ObjectWrap::Unwrap<XmlText>(Nan::To<v8::Object>(info[0]).ToLocalChecked());
- assert(new_sibling);
-
- xmlNode *imported_sibling = element->import_node(new_sibling->xml_obj);
-@@ -207,7 +207,7 @@ XmlText::New(xmlNode* node)
- }
-
- XmlText* element = new XmlText(node);
-- v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::New(constructor_template)->GetFunction()).ToLocalChecked();
-+ v8::Local<v8::Object> obj =
Nan::NewInstance(Nan::GetFunction(Nan::New(constructor_template)).ToLocalChecked()).ToLocalChecked();
- element->Wrap(obj);
- return scope.Escape(obj);
- }
-@@ -249,7 +249,7 @@ XmlText::prev_sibling_will_merge(xmlNode *child) {
- }
-
- void
--XmlText::Initialize(v8::Handle<v8::Object> target)
-+XmlText::Initialize(v8::Local<v8::Object> target)
- {
- Nan::HandleScope scope;
- v8::Local<v8::FunctionTemplate> tmpl =
-@@ -277,7 +277,7 @@ XmlText::Initialize(v8::Handle<v8::Object> target)
- XmlText::Replace);
-
- Nan::Set(target, Nan::New<v8::String>("Text").ToLocalChecked(),
-- tmpl->GetFunction());
-+ Nan::GetFunction(tmpl).ToLocalChecked());
-
- }
-
-diff --git a/src/xml_text.h b/src/xml_text.h
-index d03b008..cc258f2 100644
---- a/src/xml_text.h
-+++ b/src/xml_text.h
-@@ -11,7 +11,7 @@ public:
-
- explicit XmlText(xmlNode* node);
-
-- static void Initialize(v8::Handle<v8::Object> target);
-+ static void Initialize(v8::Local<v8::Object> target);
-
- static Nan::Persistent<v8::FunctionTemplate> constructor_template;
-
-diff --git a/test/memory_management.js b/test/memory_management.js
-index 2378d10..8b7d1f9 100644
---- a/test/memory_management.js
-+++ b/test/memory_management.js
-@@ -6,7 +6,7 @@ if (!global.gc) {
- }
-
- var nodeVersion = process.versions.node
--var shouldSkip = semver.satisfies(nodeVersion, '8.x || 9.x || 10.x')
-+var shouldSkip = semver.satisfies(nodeVersion, '8.x || 9.x || 10.x || 11.x ||
12.x')
-
- module.exports.setUp = function(done) {
- collectGarbage();
diff --git a/nodejs-libxmljs-error.patch b/nodejs-libxmljs-error.patch
new file mode 100644
index 0000000..2d866e8
--- /dev/null
+++ b/nodejs-libxmljs-error.patch
@@ -0,0 +1,19 @@
+commit 08c301396d94007248696f1ebf82f115e0fd3877
+Author: Tom Hughes <tom(a)compton.nu>
+Date: Fri Feb 7 10:16:24 2020 +0000
+
+ Adapt to change in error message in libxml2
+
+diff --git a/test/xml_sax_parser.js b/test/xml_sax_parser.js
+index a7d6b4d..c1546f3 100644
+--- a/test/xml_sax_parser.js
++++ b/test/xml_sax_parser.js
+@@ -76,7 +76,7 @@ var callbackControl = {
+ ],
+
+ error: [
+- ["Premature end of data in tag error line 2\n"]
++ ["EndTag: '</' not found\n"]
+ ]
+ };
+
diff --git a/nodejs-libxmljs-libxml.patch b/nodejs-libxmljs-libxml.patch
new file mode 100644
index 0000000..ac4d675
--- /dev/null
+++ b/nodejs-libxmljs-libxml.patch
@@ -0,0 +1,79 @@
+commit 7263630a74666720d581488756cd3d350d4f26fa
+Author: Tom Hughes <tom(a)compton.nu>
+Date: Thu Dec 3 00:06:52 2015 +0000
+
+ Remove dependency on bundled libxml2
+
+diff --git a/binding.gyp b/binding.gyp
+index a540ecd..37e0f6f 100644
+--- a/binding.gyp
++++ b/binding.gyp
+@@ -25,55 +25,29 @@
+ 'src/xml_text.cc',
+ 'src/xml_pi.cc',
+ 'src/xml_xpath_context.cc',
+- 'vendor/libxml/buf.c',
+- 'vendor/libxml/catalog.c',
+- 'vendor/libxml/chvalid.c',
+- 'vendor/libxml/dict.c',
+- 'vendor/libxml/encoding.c',
+- 'vendor/libxml/entities.c',
+- 'vendor/libxml/error.c',
+- 'vendor/libxml/globals.c',
+- 'vendor/libxml/hash.c',
+- 'vendor/libxml/HTMLparser.c',
+- 'vendor/libxml/HTMLtree.c',
+- 'vendor/libxml/legacy.c',
+- 'vendor/libxml/list.c',
+- 'vendor/libxml/parser.c',
+- 'vendor/libxml/parserInternals.c',
+- 'vendor/libxml/pattern.c',
+- 'vendor/libxml/relaxng.c',
+- 'vendor/libxml/SAX2.c',
+- 'vendor/libxml/SAX.c',
+- 'vendor/libxml/tree.c',
+- 'vendor/libxml/threads.c',
+- 'vendor/libxml/uri.c',
+- 'vendor/libxml/valid.c',
+- 'vendor/libxml/xinclude.c',
+- 'vendor/libxml/xlink.c',
+- 'vendor/libxml/xmlIO.c',
+- 'vendor/libxml/xmlmemory.c',
+- 'vendor/libxml/xmlmodule.c',
+- 'vendor/libxml/xmlreader.c',
+- 'vendor/libxml/xmlregexp.c',
+- 'vendor/libxml/xmlsave.c',
+- 'vendor/libxml/xmlschemas.c',
+- 'vendor/libxml/xmlschemastypes.c',
+- 'vendor/libxml/xmlstring.c',
+- 'vendor/libxml/xmlunicode.c',
+- 'vendor/libxml/xmlwriter.c',
+- 'vendor/libxml/xpath.c',
+- 'vendor/libxml/xpointer.c'
+ ],
+ 'conditions': [
++ ['OS=="win"', {
++ # no Windows support yet...
++ }, {
++ 'libraries': [
++ '<!@(xml2-config --libs)'
++ ],
++ }],
+ ['OS=="mac"', {
+ # node-gyp 2.x doesn't add this anymore
+ #
https://github.com/TooTallNate/node-gyp/pull/612
+ 'xcode_settings': {
+ 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
+ 'OTHER_LDFLAGS': [
+- '-undefined dynamic_lookup'
++ '-undefined dynamic_lookup',
++ '<!@(xml2-config --cflags)'
+ ],
+ },
++ }, {
++ 'cflags': [
++ '<!@(xml2-config --cflags)'
++ ],
+ }]
+ ]
+ }
diff --git a/nodejs-libxmljs.spec b/nodejs-libxmljs.spec
index 60796eb..e7a7339 100644
--- a/nodejs-libxmljs.spec
+++ b/nodejs-libxmljs.spec
@@ -2,25 +2,24 @@
%global enable_tests 1
-Name: nodejs-libxmljs
-Version: 0.19.5
-Release: 3%{?dist}
-Summary: Node.js module that provides libxml bindings for the v8 javascript engine
-License: MIT
-URL:
https://github.com/polotek/libxmljs
-Source0:
https://registry.npmjs.org/libxmljs/-/libxmljs-%{version}.tgz
-
-# binding.gyp contains a dependency on the bundled libxml2
-Patch0: %{name}-0.18.7-remove-bundled-libxml.patch
-#
https://github.com/libxmljs/libxmljs/pull/552
-Patch1: %{name}-0.19.5-node12.patch
+Name: nodejs-libxmljs
+Version: 0.19.7
+Release: 1%{?dist}
+Summary: Node.js module that provides libxml bindings for the v8 javascript
engine
+
+License: MIT
+URL:
https://www.npmjs.com/package/libxmljs
+Source0:
https://registry.npmjs.org/libxmljs/-/libxmljs-%{version}.tgz
+# Remove dependency on bundled libxml2
+Patch0: nodejs-libxmljs-libxml.patch
+# Adapt to change in error message in libxml2
+Patch1: nodejs-libxmljs-error.patch
+ExclusiveArch: %{nodejs_arches}
BuildRequires: nodejs-packaging
BuildRequires: node-gyp
BuildRequires: libxml2-devel
-BuildRequires: npm(nan) >= 2.0.4
-
-ExclusiveArch: %{nodejs_arches}
+BuildRequires: npm(nan) >= 2.14.0
%if 0%{?enable_tests}
BuildRequires: npm(bindings)
@@ -36,13 +35,12 @@ BuildRequires: npm(nodeunit)
%nodejs_fixdep bindings
%nodejs_fixdep --dev --move nan
%nodejs_fixdep --remove node-pre-gyp
-rm -rf vendor/
+rm -rf node_modules vendor
%build
%nodejs_symlink_deps --build
-export CXXFLAGS="%{optflags}"
-export LDFLAGS="%{?__global_ldflags} -Wl,-z,undefs"
+%set_build_flags
node-gyp configure
node-gyp build
@@ -72,6 +70,9 @@ ln -s Release/lib.target/xmljs.node build/xmljs.node
%changelog
+* Fri Feb 7 2020 Tom Hughes <tom(a)compton.nu> - 0.19.7-1
+- Update to 0.19.7 upstream release
+
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.19.5-3
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index 79142c0..433a423 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libxmljs-0.19.5.tgz) =
98a95a7db488b206425dc85aea5a3230dfd0d6471b349e4ddd50bfad2d2fac95dd23df53cc42368b6acfa75d0737f07bd2f48f87a6eaea71e1a024f5f5e1ad4f
+SHA512 (libxmljs-0.19.7.tgz) =
9452721bd4f5995c13ccd4f0e9992f22dd0ef8db0847e15313e45c0b640314653c60c9d0ae7c84386ae3e875927b501dc102bbb37ec13a9e0d2fea5c02a7cada