Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable building Proton JavaScript bindings and other non-essential stuff #2280

Merged
merged 1 commit into from
May 24, 2017

Conversation

str4d
Copy link
Contributor

@str4d str4d commented Apr 19, 2017

Closes #2279.

@str4d str4d added C-bug Category: This is a bug A-dependencies Area: Dependencies labels Apr 19, 2017
@str4d str4d added this to the 1.0.9 milestone Apr 19, 2017
@str4d str4d requested a review from bitcartel April 19, 2017 01:39
daira
daira previously approved these changes Apr 19, 2017
Copy link
Contributor

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK.

Does not block, but why do DEFAULT_JAVASCRIPT and DEFAULT_GO need to be set to OFF both in CMakeLists.txt and on the cmake command line?

@bitcartel
Copy link
Contributor

@daira @str4d I've pushed a commit to this PR for review. Cleans up building. See commit message; no longer builds docs, examples, language bindings (except for cpp), also does not try and find packages which we know we don't need.

@bitcartel
Copy link
Contributor

@zkbot try

@daira
Copy link
Contributor

daira commented Apr 27, 2017

The sed commands look like they could be better expressed as a patch; that would be easier to review.

@zkbot
Copy link
Contributor

zkbot commented Apr 27, 2017

💥 Test timed out

@bitcartel bitcartel force-pushed the 2279-disable-proton-js-binding branch from ef54438 to 28174a7 Compare April 28, 2017 01:21
@bitcartel
Copy link
Contributor

@zkbot try

@ageis
Copy link
Contributor

ageis commented Apr 28, 2017

@zkbot retry

# Set the default SSL/TLS implementation
-find_package(OpenSSL)
+#find_package(OpenSSL)
find_package(PythonInterp REQUIRED)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be disabled?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, if disabled, build fails. There are generated source files which require Python.

# Check for valgrind here so tests under proton-c/ and examples/ can use it.
-find_program(VALGRIND_EXE valgrind DOC "Location of the valgrind program")
+#find_program(VALGRIND_EXE valgrind DOC "Location of the valgrind program")
mark_as_advanced (VALGRIND_EXE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment this out as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean that you want "#mark_as_advanced" ? From cmake docs, 'mark_as_advanced' doesn't do anything with regards to the build, it will hide the variable from the CMake GUI. I didn't comment it out as I wanted the patch to be as small as possible.

-find_package(SWIG)
+#find_package(SWIG)
# FindSwig.cmake "forgets" make its outputs advanced like a good citizen
mark_as_advanced(SWIG_DIR SWIG_EXECUTABLE SWIG_VERSION)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment this out as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above about mark_as_advanced.

+#find_library(CYRUS_SASL_LIBRARY sasl2)
+#find_path(CYRUS_SASL_INCLUDE_DIR sasl/sasl.h PATH_SUFFIXES include)
+#find_package_handle_standard_args(CyrusSASL DEFAULT_MSG CYRUS_SASL_LIBRARY CYRUS_SASL_INCLUDE_DIR)
mark_as_advanced(CYRUS_SASL_LIBRARY CYRUS_SASL_INCLUDE_DIR)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment this out as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

# Find saslpasswd2 executable to generate test config
-find_program(SASLPASSWD_EXE saslpasswd2 DOC "Program used to make SASL user db for testing")
+#find_program(SASLPASSWD_EXE saslpasswd2 DOC "Program used to make SASL user db for testing")
mark_as_advanced(SASLPASSWD_EXE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment this out as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

# Prerequisites for Go
-find_program(GO_EXE go)
+#find_program(GO_EXE go)
mark_as_advanced(GO_EXE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment this out as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

From 03f5fc0826115edbfca468261b70c0daf627f488 Mon Sep 17 00:00:00 2001
From: Simon <simon@bitcartel.com>
Date: Thu, 27 Apr 2017 17:15:59 -0700
Subject: [PATCH] Only build minimal dependencies needed for cpp bindings.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add that this enables C++11 and builds a static library.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... or separate that into another patch maybe. (Does not block.)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll change the subject (and commit message) in a bit.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@daira daira dismissed their stale review April 28, 2017 13:24

need responses to comments on 28174a7

@zkbot
Copy link
Contributor

zkbot commented Apr 28, 2017

⌛ Trying commit 28174a7 with merge de11d7b...

@bitcartel bitcartel changed the title Disable building Proton JavaScript bindings Disable building Proton JavaScript bindings and other non-essential stuff Apr 28, 2017
Closes zcash#2279.  Configures CMake to enable C++11, build static libaries
and only build cpp bindings with minimal dependencies. Documentation,
examples, tests and other language bindings are no longer built.
CMake will no longer try to find commands and packages which are not
required for building the target.
@bitcartel bitcartel force-pushed the 2279-disable-proton-js-binding branch from 28174a7 to b9f6e40 Compare April 28, 2017 19:09
Copy link
Contributor

@bitcartel bitcartel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New PR pushed.

@bitcartel
Copy link
Contributor

Checked CI server and buildbot tests passed.
http://ci.z.cash:8010/#/builders/14/builds/1
Note, this is a temporary link before CI servers get reset and rebuilt (at which point we can delete some of the zkbot related messages on this ticket)

@ageis
Copy link
Contributor

ageis commented Apr 28, 2017

retrying due to previous failure of Buildbot to tell Homu about the final build status and config update to fix the issue @zkbot retry

zkbot added a commit that referenced this pull request Apr 28, 2017
Disable building Proton JavaScript bindings and other non-essential stuff

Closes #2279.
@zkbot
Copy link
Contributor

zkbot commented Apr 28, 2017

⌛ Trying commit b9f6e40 with merge 980aa21...

@ageis
Copy link
Contributor

ageis commented Apr 28, 2017

@zkbot try

@zkbot
Copy link
Contributor

zkbot commented Apr 29, 2017

💥 Test timed out

Copy link
Contributor

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

zkbot added a commit that referenced this pull request May 10, 2017
Disable building Proton JavaScript bindings and other non-essential stuff

Closes #2279.
zkbot added a commit that referenced this pull request May 10, 2017
Disable building Proton JavaScript bindings and other non-essential stuff

Closes #2279.
@str4d
Copy link
Contributor Author

str4d commented May 10, 2017

Future readers: the various merges above were created while I was testing the CI. I have deleted the corresponding commands and responses to clean up the PR history.

@nathan-at-least
Copy link
Contributor

I'm kicking this out of 1.0.9 in favor of #2362. Let's follow up on this after 1.0.9.

@nathan-at-least nathan-at-least removed this from the 1.0.9 milestone May 10, 2017
@bitcartel
Copy link
Contributor

@nathan-at-least This should be included in 1.0.9 because it fixes potential build problems for people who do want to build proton. Otherwise some people will opt in to build and be confused as to why it doesn't.

@nathan-at-least
Copy link
Contributor

If I understand correctly, this branch passes on our CI builder that doesn't have the other languages installed, so our CI system does not test the build fixes that this patch introduces. We need to set up a CI builder specifically to test those changes, and I don't believe we have time to do so today.

@nathan-at-least
Copy link
Contributor

I filed #2365 to follow up on the CI need here.

@nathan-at-least nathan-at-least added this to the 1.0.9 milestone May 11, 2017
@nathan-at-least
Copy link
Contributor

I moved #2365 and this PR back into 1.0.9 low on the page, indicating lower priority than the other tickets in 1.0.9.

@ageis
Copy link
Contributor

ageis commented May 18, 2017

We should make a list of stuff to build without this patch:

openssl
go
sasl2
swig
ruby
doxygen

@bitcartel
Copy link
Contributor

@ageis valgrind, emscripten, cyrus-sasl, perl, python

@daira daira modified the milestones: 1.0.10, 1.0.9 May 23, 2017
@nathan-at-least
Copy link
Contributor

Just completed #2365, so:

@zkbot r+

@zkbot
Copy link
Contributor

zkbot commented May 24, 2017

📌 Commit b9f6e40 has been approved by nathan-at-least

@zkbot
Copy link
Contributor

zkbot commented May 24, 2017

⌛ Testing commit b9f6e40 with merge 25d47f4...

zkbot added a commit that referenced this pull request May 24, 2017
…at-least

Disable building Proton JavaScript bindings and other non-essential stuff

Closes #2279.
@bitcartel bitcartel modified the milestones: 1.0.9, 1.0.10 May 24, 2017
@zkbot
Copy link
Contributor

zkbot commented May 24, 2017

☀️ Test successful - pr-merge
Approved by: nathan-at-least
Pushing 25d47f4 to master...

@zkbot zkbot merged commit b9f6e40 into zcash:master May 24, 2017
@str4d str4d moved this from Work Queue to Complete in Development Infrastructure Jun 20, 2017
@str4d str4d deleted the 2279-disable-proton-js-binding branch January 27, 2023 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dependencies Area: Dependencies C-bug Category: This is a bug
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

6 participants