Dash - Reinventing Cryptocurrency
Go to file
fanquake 086bb0bae8 Merge #16408: depends: Prune X packages
0c55d8b58186ba69fffc147cd02b174450dac578 depends: qt: Patch to remove dep on libX11 (Carl Dong)
222e6cc52075cf6f866ce4a2e5900f0d6358f903 gitignore: Actually pay attention to depends patches (Carl Dong)
65f8da08df601ac98bad6f638392343fd564c0b9 symbol-check: Disallow libX11-*.so.* shared libraries (Carl Dong)
924569914e6079763fd1692bed372ded2c63d685 depends: libXext isn't needed by anyone (Carl Dong)
689d3b4a030675b6de87a55463a8e155843293fb build-aux: Remove check for x11-xcb (Carl Dong)
aa53cb7a2f04a59a4722c662e67b7a6ec04e32b5 depends: libX11: Make package headers-only (Carl Dong)
9a01ab04e1125b37618266d7fd1c3a6e3bb7e3f8 depends: qt: Explicitly stop using Xlib/libX11 (Carl Dong)
1ec30b8fbe4a162d6e2e6a9711d83f1bafd9b645 depends: xproto is only directly needed by libXau (Carl Dong)

Pull request description:

  Related to: #16150

  We noticed that we could build QT without using XLib/libX11 as a library. XLib/libX11's headers are still used, and a minimal `configure.ac` has been added to eliminate overly-enthusiastic configure-time dependencies that aren't actually required to obtain the headers.

  This also means that we eliminate XLib/libX11 as required shared libraries at runtime, which is desirable.

  See commit messages for more details.

  ---

  Reviewers: I am least sure about the minimal `configure.ac`, as I'm not too familiar with the autoconf syntax. Any improvements w/re robustness would be welcome.

ACKs for top commit:
  theuni:
    ACK 0c55d8b58186ba69fffc147cd02b174450dac578
  fanquake:
    ACK 0c55d8b58186ba69fffc147cd02b174450dac578

Tree-SHA512: 41f653a0f91bc0e0faac49713c0c6dfd8cb605f9c4e34eb75a790dd808ebf3e5c160f1dd40bc8fbc911ee718ea319313b526d63733c98ff62d8dffecb58caa01
2021-02-18 16:24:11 +01:00
.github Revert "implemented labeler which automatically adds RPC label to anything modifying RPC files (#3499)" (#3517) 2020-06-11 11:44:29 +03:00
.tx
build-aux/m4 Merge #18298: build: Fix Qt processing of configure script for depends with DEBUG=1 2021-02-17 20:53:33 +01:00
ci Merge #13617: release: require macOS 10.10+ 2020-12-18 01:14:34 +03:00
contrib Merge #16408: depends: Prune X packages 2021-02-18 16:24:11 +01:00
depends Merge #16408: depends: Prune X packages 2021-02-18 16:24:11 +01:00
doc Merge #13717: docs: Link to python style guidelines from developer notes 2021-02-04 14:58:13 -06:00
docker build: create mountpoint for named volume (#3765) 2020-10-08 14:34:33 +03:00
share Merge #13617: release: require macOS 10.10+ 2020-12-18 01:14:34 +03:00
src chainlocks: Relay clsig inv only after bestChainLock(Hash) are assigned (#3990) 2021-02-16 16:54:19 +01:00
test instantsend: Mark blocks as conflicting when there is a CL vs IS conflict (#3987) 2021-02-14 16:09:21 -06:00
.gitattributes
.gitignore Merge #16408: depends: Prune X packages 2021-02-18 16:24:11 +01:00
.gitlab-ci.yml Merge #13617: release: require macOS 10.10+ 2020-12-18 01:14:34 +03:00
.travis.yml Stage specific Travis job names (#3651) 2020-08-06 12:07:38 +03:00
autogen.sh Merge #13454: Make sure LC_ALL=C is set in all shell scripts 2020-07-28 21:35:31 -05:00
CMakeLists.txt Merge #13617: release: require macOS 10.10+ 2020-12-18 01:14:34 +03:00
configure.ac Merge #19689: build: Add Qt version checking 2021-02-17 19:25:55 +01:00
CONTRIBUTING.md Merge #13488: Docs: Improve readability of "Squashing commits" 2020-07-07 11:51:06 -05:00
COPYING Bump copyright year to 2020 (#3290) 2020-01-17 15:42:55 +01:00
INSTALL.md Dashify INSTALL.md and build-unix.md 2018-01-12 16:12:54 +01:00
libdashconsensus.pc.in
Makefile.am qt: More asset cleanup (#3735) 2020-09-30 16:08:11 +03:00
README.md Use build badges provided by Gitlab (#3915) 2021-01-08 13:33:50 -06:00

Dash Core staging tree 0.17

CI master develop
Gitlab Build Status Build Status

https://www.dash.org

What is Dash?

Dash is an experimental digital currency that enables instant, private payments to anyone, anywhere in the world. Dash uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Dash Core is the name of the open source software which enables the use of this currency.

For more information, as well as an immediately useable, binary version of the Dash Core software, see https://www.dash.org/get-dash/.

License

Dash Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is meant to be stable. Development is normally done in separate branches. Tags are created to indicate new official, stable release versions of Dash Core.

The contribution workflow is described in CONTRIBUTING.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to Dash Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

Translators should also follow the forum.