Skip to content

Commit

Permalink
watchman: update to 2022.08.08.00
Browse files Browse the repository at this point in the history
The recent update to folly broke building watchman. However, a simple
upgrade doesn't work, as they added yet another dependency to
something; their Eden SCM. Eden isn't in MacPorts, and I _really_
don't care about that one, so I disabled it -- which allowed pruning
the list of dependencies a bit. But they moved some code to rely on
it anyway, so I reverted those commits.

Since the update to Folly broke this, I added a comment to the port.
  • Loading branch information
danchr committed Aug 22, 2022
1 parent 8041188 commit c2e7b86
Show file tree
Hide file tree
Showing 3 changed files with 570 additions and 10 deletions.
3 changes: 3 additions & 0 deletions devel/folly/Portfile
Expand Up @@ -15,6 +15,9 @@ if {[string match *clang* ${configure.compiler}]} {
legacysupport.use_mp_libcxx yes
}

# NB: Facebook does not do API stabiilty, apparently, so please don't
# upgrade without also upgrading its dependents, as listed by:
# port list rdepends:folly
github.setup facebook folly 2022.08.08.00 v
revision 0
checksums rmd160 aaaf802ce3318fb2a666201779d8d254a53e6dec \
Expand Down
19 changes: 9 additions & 10 deletions sysutils/watchman/Portfile
Expand Up @@ -7,8 +7,8 @@ PortGroup boost 1.0
PortGroup rust 1.0
PortGroup compiler_blacklist_versions 1.0

github.setup facebook watchman 2022.06.06.00 v
revision 3
github.setup facebook watchman 2022.08.22.00 v
revision 0

categories sysutils
platforms darwin
Expand All @@ -30,22 +30,21 @@ depends_build-append \
depends_lib-append port:pcre \
port:folly \
port:libevent \
port:fizz \
port:wangle \
port:fbthrift \
port:fb303 \
port:google-glog \
port:${port_libfmt}

configure.args-append \
-DENABLE_EDEN_SUPPORT=NO \
-DPython3_Development_FOUND=NO \
-DBoost_INCLUDE_DIR=[boost::include_dir]

configure.env-append \
NODE_BIN=${prefix}/bin/node \
YARN_PATH=${prefix}/bin/yarn \
DESTDIR=${destroot}

patchfiles cmake-rust-build-target.diff
patchfiles cmake-rust-build-target.diff \
revert-optionset-move.diff

post-patch {
reinplace "s,/usr/bin,${prefix}," CMakeLists.txt
Expand All @@ -70,9 +69,9 @@ compiler.cxx_standard \
2017

checksums ${distname}${extract.suffix} \
rmd160 f172dae7f2d6f182bac266359ba14089af66ccd8 \
sha256 d24548e0c4d5c692c15b5a8eaf46b02cb59d9fb228d611c31b6c8e81e7a4cb2e \
size 3775957
rmd160 ccdc1f38d6a6d68c9bea0ef76267893ddec901ee \
sha256 2a500e68317953b882276a979a3205c08a348c8910b9e33a4bcf606d0ab580f7 \
size 3785713


cargo.crates \
Expand Down

6 comments on commit c2e7b86

@mascguy
Copy link
Member

Choose a reason for hiding this comment

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

The recent update to folly broke building watchman. However, a simple upgrade doesn't work, as they added yet another dependency to something; their Eden SCM. Eden isn't in MacPorts, and I really don't care about that one, so I disabled it -- which allowed pruning the list of dependencies a bit. But they moved some code to rely on it anyway, so I reverted those commits.

Since the update to Folly broke this, I added a comment to the port.

@danchr, thanks for the explanation, and we'll keep this in mind going forward.

@barracuda156 This is another reason to avoid updating port versions, when making major fixes. (As we discussed in PR: #15689)

@barracuda156
Copy link
Contributor

Choose a reason for hiding this comment

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

@mascguy Yes, thank you. I gonna keep updates and major fixes to separate PRs.

@mascguy
Copy link
Member

Choose a reason for hiding this comment

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

@danchr The build is failing for 10.15 and later, due to the following:

  Error running test executable.
    Path: '/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_watchman/watchman/work/build/art.t'
    Result: Process terminated due to timeout
    Output:

Call Stack (most recent call first):
  /opt/local/share/cmake-3.23/Modules/GoogleTestAddTests.cmake:225 (gtest_discover_tests_impl)

Is there some network-related operation happening, like an attempt to run an unexpected Git fetch or such...?

@mascguy
Copy link
Member

Choose a reason for hiding this comment

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

@mascguy Yes, thank you. I gonna keep updates and major fixes to separate PRs.

It would be preferable to focus on fixes, and avoid updates unless they're absolutely necessary.

This is why we don't aggressively update anything and everything, without more knowledge of the consequences.

@danchr
Copy link
Member Author

@danchr danchr commented on c2e7b86 Aug 22, 2022

Choose a reason for hiding this comment

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

@barracuda156 This is another reason to avoid updating port versions, when making major fixes. (As we discussed in PR: #15689)

I think it's worth pointing out that this is a specific case of Facebook being really annoying. In general, you cannot update any Facebook library — or tool, for that matter — without also updating the dependencies. I've yet to do an upgrade of Watchman that didn't also affect dependencies.

I'll take a look at the failing tests, but I didn't see it when building on 12/x86 locally… (If only I could convince it not to build those…)

@barracuda156
Copy link
Contributor

@barracuda156 barracuda156 commented on c2e7b86 Aug 22, 2022

Choose a reason for hiding this comment

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

@mascguy @danchr Well, as you have seen from my other PRs, I have built few folly dependents, whichever were feasible to, given my environment. In fact, the only two I did not were watchman and fb303.

10:~ svacchanda$ port -v installed folly
The following ports are currently installed:
  folly @2022.08.01.00_0 requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-13T18:56:48+0800'
  folly @2022.08.08.00_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-14T23:28:54+0800'
10:~ svacchanda$ port -v installed fizz
The following ports are currently installed:
  fizz @2022.08.01.00_0 requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-14T13:00:16+0800'
  fizz @2022.08.08.00_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-14T23:44:09+0800'
10:~ svacchanda$ port -v installed fbthrift
The following ports are currently installed:
  fbthrift @2022.08.08.00_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-15T22:36:57+0800'
10:~ svacchanda$ port -v installed wangle
The following ports are currently installed:
  wangle @2022.08.08.00_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-08-15T01:46:18+0800'

Please sign in to comment.