aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorummjackson <[email protected]>2014-02-07 18:37:02 +1100
committerummjackson <[email protected]>2014-02-07 18:37:02 +1100
commit50be2ef8f2b7353881a1e8ac948ed88aae63e5f1 (patch)
treebb1a8f41e9ee7e4dd6579c78c4bf36acf2781ddd
parentMerge pull request #219 from dooglus/change-1.5 (diff)
parentFix some URI handling weirdness in Qt (diff)
downloaddiscoin-50be2ef8f2b7353881a1e8ac948ed88aae63e5f1.tar.xz
discoin-50be2ef8f2b7353881a1e8ac948ed88aae63e5f1.zip
Merge pull request #223 from dogecoin/develop
Develop
-rw-r--r--doc/build-osx.md86
-rw-r--r--dogecoin-qt.pro2
-rw-r--r--src/mac/Info.plist4
-rw-r--r--src/qt/paymentserver.cpp13
-rw-r--r--src/qt/paymentserver.h1
5 files changed, 46 insertions, 60 deletions
diff --git a/doc/build-osx.md b/doc/build-osx.md
index 852fc15d1..c6967e31f 100644
--- a/doc/build-osx.md
+++ b/doc/build-osx.md
@@ -1,4 +1,4 @@
-Mac OS X litecoind build instructions
+Mac OS X dogecoind build instructions
====================================
Authors
@@ -8,6 +8,7 @@ Authors
* Douglas Huff <[email protected]>
* Colin Dean <[email protected]>
* Gavin Andresen <[email protected]>
+* Alan Westbrook
License
-------
@@ -26,15 +27,17 @@ Eric Young ([email protected]) and UPnP software written by Thomas Bernard.
Notes
-----
-See `doc/readme-qt.rst` for instructions on building Litecoin-Qt, the
+See `doc/readme-qt.rst` for instructions on building Dogecoin-Qt, the
graphical user interface.
-Tested on OS X 10.5 through 10.8 on Intel processors only. PPC is not
+Tested on OS X 10.6 through 10.9 on Intel processors only. PPC is not
supported because it is big-endian.
All of the commands should be executed in a Terminal application. The
built-in one is located in `/Applications/Utilities`.
+Much of this may be outdated for Dogecoin.
+
Preparation
-----------
@@ -72,14 +75,14 @@ Installing the dependencies using MacPorts is very straightforward.
sudo port install boost db48@+no_java openssl miniupnpc
-### Building `litecoind`
+### Building `dogecoind`
1. Clone the github tree to get the source code and go into the directory.
- git clone [email protected]:litecoin-project/litecoin.git litecoin
- cd litecoin
+ git clone [email protected]:dogecoin-project/dogecoin.git dogecoin
+ cd dogecoin
-2. Build litecoind:
+2. Build dogecoind:
cd src
make -f makefile.osx
@@ -93,7 +96,7 @@ Instructions: HomeBrew
#### Install dependencies using Homebrew
- brew install boost miniupnpc openssl berkeley-db4
+ brew install boost miniupnpc openssl berkeley-db
Note: After you have installed the dependencies, you should check that the Brew installed version of OpenSSL is the one available for compilation. You can check this by typing
@@ -107,79 +110,54 @@ If not, you can ensure that the Brew OpenSSL is correctly linked by running
Rerunning "openssl version" should now return the correct version.
-### Building `litecoind`
+For boost in dogecoin, there are some ‘fun’ things you have to do:
-1. Clone the github tree to get the source code and go into the directory.
+ * download boost from source
- git clone [email protected]:litecoin-project/litecoin.git litecoin
- cd litecoin
+ ./bootstrap.sh
+ ./b2 --toolset=clang cxxflags="-stdlib=libstdc++" linkflags="-stdlib=libstdc++" variant=release link=static threading=multi runtime-link=static --build-dir=build --build-type=minimal stage --with-program_options --with-system --with-filesystem --with-chrono --with-thread
-2. Modify source in order to pick up the `openssl` library.
+ * link the statics to /usr/local/lib/
+ * make sure the headers for boost are in /usr/local/include/boost or linked from there.
- Edit `makefile.osx` to account for library location differences. There's a
- diff in `contrib/homebrew/makefile.osx.patch` that shows what you need to
- change, or you can just patch by doing
+### Building `dogecoind`
+
+1. Clone the github tree to get the source code and go into the directory.
- patch -p1 < contrib/homebrew/makefile.osx.patch
+ git clone [email protected]:dogecoin/dogecoin.git dogecoin
+ cd dogecoin
-3. Build litecoind:
+2. Build dogecoind:
cd src
make -f makefile.osx
-4. It is a good idea to build and run the unit tests, too:
+3. It is a good idea to build and run the unit tests, too:
make -f makefile.osx test
Creating a release build
------------------------
-A litecoind binary is not included in the Litecoin-Qt.app bundle. You can ignore
-this section if you are building `litecoind` for your own use.
-
-If you are building `litecond` for others, your build machine should be set up
-as follows for maximum compatibility:
-
-All dependencies should be compiled with these flags:
-
- -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-
-For MacPorts, that means editing your macports.conf and setting
-`macosx_deployment_target` and `build_arch`:
-
- macosx_deployment_target=10.5
- build_arch=i386
-
-... and then uninstalling and re-installing, or simply rebuilding, all ports.
-
-As of December 2012, the `boost` port does not obey `macosx_deployment_target`.
-Download `http://gavinandresen-bitcoin.s3.amazonaws.com/boost_macports_fix.zip`
-for a fix. Some ports also seem to obey either `build_arch` or
-`macosx_deployment_target`, but not both at the same time. For example, building
-on an OS X 10.6 64-bit machine fails. Official release builds of Litecoin-Qt are
-compiled on an OS X 10.6 32-bit machine to workaround that problem.
-
-Once dependencies are compiled, creating `Litecoin-Qt.app` is easy:
-
- make -f Makefile.osx RELEASE=1
+ make -f makefile.osx RELEASE=1
Running
-------
-It's now available at `./litecoind`, provided that you are still in the `src`
+It's now available at `./dogecoind`, provided that you are still in the `src`
directory. We have to first create the RPC configuration file, though.
-Run `./litecoind` to get the filename where it should be put, or just try these
+Run `./dogecoind` to get the filename where it should be put, or just try these
commands:
- echo -e "rpcuser=litecoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf"
- chmod 600 "/Users/${USER}/Library/Application Support/Litecoin/litecoin.conf"
+ echo -e "rpcuser=dogecoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/dogecoin/dogecoin.conf"
+ chmod 600 "/Users/${USER}/Library/Application Support/dogecoin/dogecoin.conf"
When next you run it, it will start downloading the blockchain, but it won't
output anything while it's doing this. This process may take several hours.
Other commands:
- ./litecoind --help # for a list of command-line options.
- ./litecoind -daemon # to start the litecoin daemon.
- ./litecoind help # When the daemon is running, to get a list of RPC commands
+ ./dogecoind --help # for a list of command-line options.
+ ./dogecoind -daemon # to start the dogecoin daemon.
+ ./dogecoind help # When the daemon is running, to get a list of RPC commands
diff --git a/dogecoin-qt.pro b/dogecoin-qt.pro
index 9dc6e87be..8ddd67d7a 100644
--- a/dogecoin-qt.pro
+++ b/dogecoin-qt.pro
@@ -1,7 +1,7 @@
TEMPLATE = app
TARGET = dogecoin-qt
macx:TARGET = "Dogecoin-Qt"
-VERSION = 1.5.0
+VERSION = 1.5.1.1-Develop
INCLUDEPATH += src src/json src/qt
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
diff --git a/src/mac/Info.plist b/src/mac/Info.plist
index 0296d108f..772b244f1 100644
--- a/src/mac/Info.plist
+++ b/src/mac/Info.plist
@@ -14,9 +14,9 @@
</dict>
</array>
<key>CFBundleShortVersionString</key>
- <string>1.5.0</string>
+ <string>1.5.1.1</string>
<key>CFBundleVersion</key>
- <string>1.5</string>
+ <string>1.5.1.1-Develop</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>CFBundleIconFile</key>
diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp
index 03007cdd9..cdbec9e59 100644
--- a/src/qt/paymentserver.cpp
+++ b/src/qt/paymentserver.cpp
@@ -18,6 +18,7 @@
#include <QLocalServer>
#include <QLocalSocket>
#include <QStringList>
+#include <QDesktopServices>
#if QT_VERSION < 0x050000
#include <QUrl>
#endif
@@ -109,6 +110,13 @@ PaymentServer::PaymentServer(QApplication* parent) : QObject(parent), saveURIs(t
qDebug() << tr("Cannot start dogecoin: click-to-pay handler");
else
connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection()));
+
+ QDesktopServices::setUrlHandler("dogecoin", this, SLOT(handleDogeURI));
+}
+
+void PaymentServer::handleDogeURI(const QUrl &url)
+{
+ emit receivedURI(url.toString());
}
bool PaymentServer::eventFilter(QObject *object, QEvent *event)
@@ -121,9 +129,8 @@ bool PaymentServer::eventFilter(QObject *object, QEvent *event)
{
// WTF Qt?
QString url = fileEvent->url().toString();
- if ( url.startsWith( "file:dogecoin:/D" ) ) {
- url.replace( "file:dogecoin:/D", "dogecoin://D" );
- }
+ url.replace("file:dogecoin", "dogecoin");
+ url.replace(":/D", ":D");
if (saveURIs) // Before main window is ready:
savedPaymentRequests.append(url);
diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h
index 1f2fdd466..f1ffc9008 100644
--- a/src/qt/paymentserver.h
+++ b/src/qt/paymentserver.h
@@ -59,6 +59,7 @@ public slots:
// Signal this when the main window's UI is ready
// to display payment requests to the user
void uiReady();
+ void handleDogeURI(const QUrl& url);
private slots:
void handleURIConnection();