aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2018-04-25 18:16:02 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2018-04-25 18:16:02 -0700
commitcc1a0af1b52c9dae97a2ae40ca08ee44491031a0 (patch)
treec21e4c16db256a49f1e163d4cff3a587e6e2b055
parent9167511656715c81d01cc87af5db1835f026f5b6 (diff)
parent857447263f73d494b2ce3e3d1f2a06bfaaeac68f (diff)
downloadvcpkg-cc1a0af1b52c9dae97a2ae40ca08ee44491031a0.tar.gz
vcpkg-cc1a0af1b52c9dae97a2ae40ca08ee44491031a0.zip
Merge branch 'master' of https://github.com/Microsoft/vcpkg
-rw-r--r--README.md34
-rw-r--r--ports/libxmlpp/CONTROL2
-rw-r--r--ports/libxmlpp/fixAutoPtrExpired.patch114
-rw-r--r--ports/libxmlpp/portfile.cmake5
4 files changed, 143 insertions, 12 deletions
diff --git a/README.md b/README.md
index 4983508a4..c35c597d9 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,48 @@
# Vcpkg <a href="#">![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8476/badge)</a>
## Overview
-Vcpkg helps you get C and C++ libraries on Windows. This tool and ecosystem are currently in a preview state; your involvement is vital to its success.
+Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are currently in a preview state; your involvement is vital to its success!
For short description of available commands, run `vcpkg help`.
## Quick Start
Prerequisites:
-- Windows 10, 8.1, or 7
-- Visual Studio 2017 or Visual Studio 2015 Update 3
+- Windows 10, 8.1, 7, Linux, or MacOS
+- Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows)
- Git
- *Optional: CMake 3.10.2*
-Clone this repository, then run
+To get started:
```
-C:\src\vcpkg> .\bootstrap-vcpkg.bat
+> git clone https://github.com/Microsoft/vcpkg
+> cd vcpkg
+
+PS> .\bootstrap-vcpkg.bat
+Ubuntu:~/$ ./bootstrap-vcpkg.sh
```
+
Then, to hook up user-wide integration, run (note: requires admin on first use)
```
-C:\src\vcpkg> .\vcpkg integrate install
+PS> .\vcpkg integrate install
+Ubuntu:~/$ ./vcpkg integrate install
```
+
Install any packages with
```
-C:\src\vcpkg> .\vcpkg install sdl2 curl
+PS> .\vcpkg install sdl2 curl
+Ubuntu:~/$ ./vcpkg install sdl2 curl
```
-Finally, create a New Project (or open an existing one) in Visual Studio 2017 or 2015. All installed libraries are immediately ready to be `#include`'d and used in your project.
-The best way to use installed libraries with cmake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake`.
-For more information, see our [using a package](docs/examples/using-sqlite.md) example for the specifics.
+The best way to use installed libraries with CMake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake`.
+
+In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be `#include`'d and used in your project without additional configuration.
+
+For more information, see our [using a package](docs/examples/using-sqlite.md) example for the specifics.
+
+Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
## Tab-Completion / Auto-Completion
-`Vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
+`vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
```
.\vcpkg integrate powershell
```
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
index 46ec26ea1..890d1471d 100644
--- a/ports/libxmlpp/CONTROL
+++ b/ports/libxmlpp/CONTROL
@@ -1,4 +1,4 @@
Source: libxmlpp
-Version: 2.40.1-1
+Version: 2.40.1-2
Description: a C++ wrapper for the libxml XML parser library.
Build-Depends: libxml2, glibmm
diff --git a/ports/libxmlpp/fixAutoPtrExpired.patch b/ports/libxmlpp/fixAutoPtrExpired.patch
new file mode 100644
index 000000000..98d4df6bc
--- /dev/null
+++ b/ports/libxmlpp/fixAutoPtrExpired.patch
@@ -0,0 +1,114 @@
+diff --git a/libxml++/parsers/saxparser.h b/libxml++/parsers/saxparser.h
+index 1362ca3..0bd36d2 100644
+--- a/libxml++/parsers/saxparser.h
++++ b/libxml++/parsers/saxparser.h
+@@ -221,7 +221,7 @@ private:
+ //TODO: Remove the virtual when we can break ABI?
+ virtual void parse();
+
+- std::auto_ptr<_xmlSAXHandler> sax_handler_;
++ std::unique_ptr<_xmlSAXHandler> sax_handler_;
+
+ // A separate xmlpp::Document that is just used for entity resolution,
+ // and never seen in the API:
+diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h
+index 48901b2..17f0737 100644
+--- a/libxml++/parsers/textreader.h
++++ b/libxml++/parsers/textreader.h
+@@ -257,7 +257,7 @@ class TextReader: NonCopyable
+ void * locator);
+ void check_for_exceptions() const;
+
+- std::auto_ptr<PropertyReader> propertyreader;
++ std::unique_ptr<PropertyReader> propertyreader;
+ _xmlTextReader* impl_;
+ int severity_;
+ Glib::ustring error_;
+diff --git a/libxml++/relaxngschema.h b/libxml++/relaxngschema.h
+index 8df7089..ffe2eaa 100644
+--- a/libxml++/relaxngschema.h
++++ b/libxml++/relaxngschema.h
+@@ -23,7 +23,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -105,7 +105,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/relaxngvalidator.h b/libxml++/validators/relaxngvalidator.h
+index 5cd5ad7..cd29393 100644
+--- a/libxml++/validators/relaxngvalidator.h
++++ b/libxml++/validators/relaxngvalidator.h
+@@ -22,7 +22,7 @@
+ #define __LIBXMLPP_VALIDATOR_RELAXNGVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -156,7 +156,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/xsdvalidator.h b/libxml++/validators/xsdvalidator.h
+index 941d7f1..d64b971 100644
+--- a/libxml++/validators/xsdvalidator.h
++++ b/libxml++/validators/xsdvalidator.h
+@@ -20,7 +20,7 @@
+ #define __LIBXMLPP_VALIDATOR_XSDVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -146,7 +146,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/xsdschema.h b/libxml++/xsdschema.h
+index 1333025..8220e4e 100644
+--- a/libxml++/xsdschema.h
++++ b/libxml++/xsdschema.h
+@@ -21,7 +21,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -96,7 +96,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake
index 8b6c758ac..9c39d6397 100644
--- a/ports/libxmlpp/portfile.cmake
+++ b/ports/libxmlpp/portfile.cmake
@@ -10,6 +10,11 @@ vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fixAutoPtrExpired.patch"
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA