Bitcoin-qt ready for merging [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2011-09-22T20:11:16+00:00


Summary:

Bitcoin-qt, a cryptocurrency software, is currently facing several build system issues with its qmake build system. These issues include regressions on the bitcoin-qt branch such as failed linking when building without DBus and the inability to disable SSL support for JSON-RPC. UPnP is also no longer built or enabled by default. These issues were present in the old makefiles as well but were easier to workaround with DEBUGFLAGS. However, there are still some unresolved issues such as the failure to specify include path or library names for bdb and boost, resulting in a build failure on many operating systems. Additionally, there is no way to build with out-of-tree/system cryptopp or json.In an email conversation on September 11, 2011, John Smith expressed his reluctance to put up a pull request unless it is clear that it will actually be integrated. He found it challenging to keep the pull request up-to-date if it lingers for months like many others have. However, Gavin Andresen has not heard any objections to pulling it as soon as version 0.4 is officially released, and a few people have reviewed the differences and confirmed that nothing suspicious has been added.In another email exchange on the same day, John Smith and Alex Waters discussed the implementation of qt in bitcoin-qt. John asked for help in identifying potential issues that could arise from the implementation, stating that he needed substantial evidence before acknowledging a pull request. Alex responded by pointing out that the thread on the bitcointalk forum and the number of followers on Github were substantial evidence that many people were using it. He suggested keeping bitcoin-qt as a parallel experimental release to get more testing from those who couldn't or didn't want to build from source. Alex believed that merging the implementation as experimental would save a lot of GUI complaints on the forum about things he had implemented months ago. However, he also stated that he would only put up a pull request if it was clear that the implementation would actually be integrated as it would be too much work to keep the pull request up-to-date if it lingered for months.In another email exchange, Alex Waters requested a pull request and testing plan from an unknown recipient. The recipient asked for clarification on what testing plan is needed but no further information was provided.Alex has requested someone to submit a pull request and testing plan, or share existing ones, to close the wx issues while avoiding introducing too many qt issues.In an email conversation between Luke-Jr and John Smith, Luke-Jr asked about how build options can be set with qmake. John replied that assignments can be put on the command line and these variables can be used to conditionally enable or disable libraries or other options in the .pro file. He also recommended keeping the makefile for "bitcoind" and "bitcoin-wx", while qmake is sufficient for building bitcoin-qt on supported target architectures. The qmake manual provides more information on this topic.Qmake is a build tool used to generate Makefiles for building Qt-based projects. It automates the generation of Makefiles, allowing developers to focus on writing code. Build options can be specified in the project file (.pro) using variables and conditionals. Command line options can be passed to qmake to override options specified in the project file. Qmake simplifies the build process for multi-platform projects by generating platform-specific Makefiles automatically.The discussion also touched upon porting existing translations to the new platform. While some of the core strings can be reused, UI texts will need to be converted as Qt uses an XML-based format while Wx uses a line-based one. Translations have a "context" defined in Qt, while in Wx, the "msgid" is only the English text. This can be solved with Python hacking. It was suggested that merging all the translations when Qt is merged into the project is not necessary. Instead, translations can be added gradually between the merging and phasing out of Wx. Qt Linguist, the translation tool, is user-friendly for anyone to use. The participants agreed that Qt can be merged soon and become the default release GUI after some time, and translations can be built up. They suggested merging Qt right after version 0.4 is released.In an email dated August 31, 2011, John Smith announced that Bitcoin-qt was now feature complete and had been tested without any major problems. The project builds on Windows, MacOSX, and Linux using qmake. However, it lacks translations, with only English, Dutch, and Russian available at the time. Smith suggested porting some of the existing translations to the new platform. Despite the lack of translations, Smith believed it was not a significant issue and recommended merging Bitcoin-qt soon after the release of version 0.4.Bitcoin-qt has now become feature complete with wallet encryption and has undergone testing without major issues.


Updated on: 2023-08-01T02:21:48.873333+00:00