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

Icu4c 66.1 #52481

Closed
wants to merge 42 commits into from
Closed

Icu4c 66.1 #52481

wants to merge 42 commits into from

Conversation

pOmelchenko
Copy link
Contributor

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

@iMichka iMichka mentioned this pull request Apr 3, 2020
@SMillerDev
Copy link
Member

Please rebase on master to get the latest boost changes

@pOmelchenko
Copy link
Contributor Author

Sometimes it's look like for me like that

Nobody: ...
Me: Started work with that branch. Pulled all changes from master, update formulas, pushed and created PR
All: WE NEED NEW VERSIONS FOR DEPENDENT PACKAGES!!!1

@SMillerDev
Copy link
Member

I know tht problem al to well.

@pOmelchenko
Copy link
Contributor Author

CI jobs failed but I don't understand why? It's ok and if no, what reason of aborting?

@SMillerDev
Copy link
Member

@Bo98 can you help?

@Bo98
Copy link
Member

Bo98 commented Apr 6, 2020

I cancelled the Jenkins build as you had already used over 80 hours of CI time across the various force pushes done and it was unreasonable to spend another 16 hours when it was clear none of the previously mentioned errors were solved and there was a massive backlog of pull requests to handle. Sorry, but we have limited resources.

I let the GitHub Actions runners continue though to see if there were any more failures. Looking at the logs the same issues as #48349 apply, as before, plus some more it seems:

  • mapnik fails to build:
2020-04-05T18:05:55.2334960Z /usr/local/opt/boost/include/boost/spirit/home/support/attributes.hpp:963:9: error: static_assert failed due to requirement '!is_reference<const mapnik::geometry::geometry<double> &>::value' "Transformed cannot be a reference type"
2020-04-05T18:05:55.2335360Z         BOOST_STATIC_ASSERT_MSG(!is_reference<Transformed>::value,
2020-04-05T18:05:55.2335610Z         ^                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020-04-05T18:05:55.2336590Z /usr/local/opt/boost/include/boost/static_assert.hpp:31:45: note: expanded from macro 'BOOST_STATIC_ASSERT_MSG'
2020-04-05T18:05:55.2337320Z #     define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
2020-04-05T18:05:55.2338070Z                                             ^             ~~~~~~~~~~~
2020-04-05T18:05:55.2343800Z /usr/local/opt/boost/include/boost/spirit/home/karma/nonterminal/rule.hpp:293:26: note: in instantiation of template class 'boost::spirit::traits::transform_attribute<const mapnik::geometry::geometry<double>, const mapnik::geometry::geometry<double> &, boost::spirit::karma::domain, void>' requested here
2020-04-05T18:05:55.2344210Z                 typename transform::type attr_ = transform::pre(attr);
2020-04-05T18:05:55.2344430Z                          ^
2020-04-05T18:05:55.2351750Z /usr/local/opt/boost/include/boost/spirit/home/karma/reference.hpp:46:30: note: in instantiation of function template specialization 'boost::spirit::karma::rule<std::__1::back_insert_iterator<std::__1::basic_string<char> >, const mapnik::geometry::geometry<double> &(), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type>::generate<boost::spirit::context<boost::fusion::cons<const mapnik::geometry::geometry<double> &, boost::fusion::nil_>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, boost::spirit::unused_type, mapnik::geometry::geometry<double> >' requested here
2020-04-05T18:05:55.2352600Z             return ref.get().generate(sink, context, delim, attr);
2020-04-05T18:05:55.2352840Z                              ^
2020-04-05T18:05:55.2360510Z /usr/local/opt/boost/include/boost/spirit/home/karma/generate.hpp:69:45: note: in instantiation of function template specialization 'boost::spirit::karma::reference<const boost::spirit::karma::rule<std::__1::back_insert_iterator<std::__1::basic_string<char> >, const mapnik::geometry::geometry<double> &(), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> >::generate<boost::spirit::karma::detail::output_iterator<std::__1::back_insert_iterator<std::__1::basic_string<char> >, mpl_::int_<15>, boost::spirit::unused_type>, boost::spirit::context<boost::fusion::cons<const mapnik::geometry::geometry<double> &, boost::fusion::nil_>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, boost::spirit::unused_type, mapnik::geometry::geometry<double> >' requested here
2020-04-05T18:05:55.2360990Z         return compile<karma::domain>(expr).generate(sink, context, unused, attr);
2020-04-05T18:05:55.2361200Z                                             ^
2020-04-05T18:05:55.2363950Z /usr/local/opt/boost/include/boost/spirit/home/karma/generate.hpp:91:23: note: in instantiation of function template specialization 'boost::spirit::karma::generate<std::__1::back_insert_iterator<std::__1::basic_string<char> >, mpl_::int_<15>, mapnik::json::geometry_generator_grammar<std::__1::back_insert_iterator<std::__1::basic_string<char> >, mapnik::geometry::geometry<double> >, mapnik::geometry::geometry<double> >' requested here
2020-04-05T18:05:55.2364330Z         return karma::generate(sink, expr, attr);
2020-04-05T18:05:55.2364520Z                       ^
2020-04-05T18:05:55.2366940Z src/json/mapnik_geometry_to_geojson.cpp:34:34: note: in instantiation of function template specialization 'boost::spirit::karma::generate<std::__1::back_insert_iterator<std::__1::basic_string<char> >, mapnik::json::geometry_generator_grammar<std::__1::back_insert_iterator<std::__1::basic_string<char> >, mapnik::geometry::geometry<double> >, mapnik::geometry::geometry<double> >' requested here
2020-04-05T18:05:55.2367650Z     return boost::spirit::karma::generate(sink, grammar, geom);
2020-04-05T18:05:55.2367850Z                                  ^
2020-04-05T18:05:55.2368010Z 1 error generated.
  • freeling fails to buid from source:
2020-04-05T17:22:06.5442800Z Undefined symbols for architecture x86_64:
2020-04-05T17:22:06.5443100Z   "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)", referenced from:
2020-04-05T17:22:06.5445570Z       boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&) in build-dict.cc.o
2020-04-05T17:22:06.5445850Z ld: symbol(s) not found for architecture x86_64
  • libfreehand fails to build from source:
2020-04-05T17:51:28.2838010Z libfreehand_utils.cpp:165:30: error: expected ';' after do/while statement
2020-04-05T17:51:28.2838320Z     U16_NEXT(s, j, length, c)
2020-04-05T17:51:28.2839980Z                              ^
2020-04-05T17:51:28.2840570Z                              ;
2020-04-05T17:51:28.2841870Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2842120Z     U8_APPEND_UNSAFE(&outbuf[0], i, c);
2020-04-05T17:51:28.2842390Z                       ^
2020-04-05T17:51:28.2844280Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2845350Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2846780Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2848740Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2850100Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2851230Z libfreehand_utils.cpp:168:23: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2852860Z libfreehand_utils.cpp:169:5: error: use of undeclared identifier 'outbuf'; did you mean 'setbuf'?
2020-04-05T17:51:28.2853220Z     outbuf[i] = 0;
2020-04-05T17:51:28.2853470Z     ^~~~~~
2020-04-05T17:51:28.2853670Z     setbuf
2020-04-05T17:51:28.2857620Z /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:178:7: note: 'setbuf' declared here
2020-04-05T17:51:28.2857970Z void     setbuf(FILE * __restrict, char * __restrict);
2020-04-05T17:51:28.2858110Z          ^
2020-04-05T17:51:28.2861140Z libfreehand_utils.cpp:169:5: error: subscript of pointer to function type 'void (FILE *, char *)' (aka 'void (__sFILE *, char *)')
2020-04-05T17:51:28.2861480Z     outbuf[i] = 0;
2020-04-05T17:51:28.2861690Z     ^~~~~~
2020-04-05T17:51:28.2862830Z libfreehand_utils.cpp:171:25: error: use of undeclared identifier 'outbuf'
2020-04-05T17:51:28.2863170Z     text.append((char *)outbuf);
  • Test timeout with: chronograf (also port conflict), couchdb, couchdb-lucene

@pOmelchenko pOmelchenko mentioned this pull request Apr 6, 2020
5 tasks
@pOmelchenko
Copy link
Contributor Author

pOmelchenko commented Apr 6, 2020

Thx! I will go solve that problems and return here when mapnik, freeling, libfreehand will compile with success on my system (10.15.4)

@Bo98
Copy link
Member

Bo98 commented Apr 6, 2020

If you need any help, let me know. I may be able to look into some of it later this week.

Copy link
Member

@bayandin bayandin left a comment

Choose a reason for hiding this comment

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

And please merge "... (fix revision position)" commits with revision bumping for these formula. In the end, you should have 1 commit per 1 formula.

It can be pushed together with other fixes (no need to do it separately).

Formula/icu4c.rb Outdated Show resolved Hide resolved
@pOmelchenko
Copy link
Contributor Author

For fixing libfreehand I must add this patch but I'm not sure how I can that made correctly? I was tested that patch with this branch in my mac and I was have success building that package

  patch do
    url "https://git.nightly.network/Exherbo/office/raw/497c6b750920ad8a23563b5ae130157ec56917c6/packages/office-libs/libfreehand/files/libfreehand-Add-missing-semicolon-to-fix-build-with-icu-65.1.patch"
    sha256 "52a953020ddd061c7812c6e8240af19356151410cf2f470f17c23d252280ce74"
  end

@SMillerDev
Copy link
Member

Is that patch in the upstream repository yet? Is it even submitted there? If it is, get a reference to the upstream commit as patch. If it isn't, please submit it upstream and add a link to the pull request to the patch block you have here.

@pOmelchenko
Copy link
Contributor Author

Hm, no. When I found that patch in two or three other repos (suse, Exherbo and maybe somewhere else) I have deep night. So I hastened to inform in that PR. But in upstream that problem 6 month ago. And if we can set that release for commit hash or latest commit from master we can take correct result when build that lib with latest icu version. But about version from master (not taget with version) I'm not sure much more

@pOmelchenko
Copy link
Contributor Author

About freeling: solution was found but it not finish variant – TALP-UPC/FreeLing#90 (comment)

@SMillerDev
Copy link
Member

SMillerDev commented Apr 7, 2020

It seems you can use https://git.libreoffice.org/libfreehand/+/af3197f795625f5188602073205a34369698b6df%5E!/?format=TEXT as a patch url for libfreehand

EDIT: Apparently that gets a base64 encoded diff. Who does that. https://github.com/Homebrew/formula-patches/ should host the patch from upstream then. And the patch block in the formula should have a comment indicating when it can be removed.

@pOmelchenko
Copy link
Contributor Author

I'm not sure for understand all steps

  1. I create PR with patch file into Homebrew/formula-patches like
libfreehand
└── 0.1.2.patch
  1. after merging patch I must add block like that into libfreehand formula file
  # remove with version >=0.1.3
  patch do
    url "url to new patch file from Homebrew/formula-patches"
    sha256 "correct hash"
  end

@SMillerDev
Copy link
Member

Yeah, that seems about right.

@issyl0 issyl0 mentioned this pull request Apr 21, 2020
@SMillerDev
Copy link
Member

I hope you're still doing well, any plans to rebase and apply the formula-patches patch @pOmelchenko ?

@Bo98 Bo98 mentioned this pull request Apr 21, 2020
5 tasks
@pOmelchenko
Copy link
Contributor Author

I'm in! I hope I have not forgotten anything in the latest changes.

@Bo98
Copy link
Member

Bo98 commented Apr 22, 2020

#53506 probably needs merging first.

@faradaytrs
Copy link

#53506 probably needs merging first.

it's already merged

@pOmelchenko
Copy link
Contributor Author

it's already merged

Yep! And this changes don't have conflicts with that branch. So I wait end of current tasks for analyze results :)

Comment on lines 24 to 25
url "https://github.com/Homebrew/formula-patches/blob/master/libfreehand/0.1.2.patch"
sha256 "9e06a86262627491ec71fcb9778fde56149d4411c42f7cbb7175a101e7886789"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
url "https://github.com/Homebrew/formula-patches/blob/master/libfreehand/0.1.2.patch"
sha256 "9e06a86262627491ec71fcb9778fde56149d4411c42f7cbb7175a101e7886789"
url "https://raw.githubusercontent.com/Homebrew/formula-patches/7bb2149f314dd174f242a76d4dde8d95d20cbae0/libfreehand/0.1.2.patch"
sha256 "abfa28461b313ccf3c59ce35d0a89d0d76c60dd2a14028b8fea66e411983160e"

@Bo98
Copy link
Member

Bo98 commented Apr 22, 2020

For the next run: change the message of the first commit from "update icu4c version" to "icu4c 66.1"

@Bo98
Copy link
Member

Bo98 commented Apr 22, 2020

  • node revision bump commit is empty: 47eea1b. As a result, there's some test failures because node wasn't revision bumped.
  • gjs and mpd also need a revision bump.

When rebasing, watch out in case the freeling revision bump disappears. Git can get "too smart" here and drop the commit because it thinks the change has already been made.

@jonchang
Copy link
Contributor

@pOmelchenko
Copy link
Contributor Author

@Bo98 Thanks! I will work with that points and recommendations

@pOmelchenko
Copy link
Contributor Author

  • libfreehand remove white space
  • freeling bump with revision 5

@bayandin bayandin mentioned this pull request Apr 22, 2020
5 tasks
@pOmelchenko
Copy link
Contributor Author

Correct me please! I must resolve problems with monero and tarantool and in next time CI will success?

@pOmelchenko
Copy link
Contributor Author

I installed that packages without problems. But I have problem with audit for tarantool and can't build bottle locally for moreno. So I need help with solving that problems

for tarantool:

...
tarantool:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      bin/tarantool
      include/tarantool/module.h
Error: 1 problem in 1 formula detected

and moreno:

Error: invalid option: --build-bottle

@bayandin
Copy link
Member

bayandin commented Apr 23, 2020

for tarantool:

...
tarantool:
  * Files were found with references to the Homebrew shims directory.
    The offending files are:
      bin/tarantool
      include/tarantool/module.h
Error: 1 problem in 1 formula detected

This will be fixed in #53478, you can keep it as it is here.

I will have a look at moreno as soon as get to my laptop.

Thanks!

@Bo98
Copy link
Member

Bo98 commented Apr 23, 2020

Moreno conflicts with libminiupnpc. This is a known issue. Moreno ideally would just use Homebrew's installation of the library and not include its own installation of libminiupnpc but upstream made it really awkward to do so. I think other package repositories (Debian etc.) patch the build scripts as a result.

I don't think it's a blocker for this PR though.

@bayandin bayandin self-requested a review April 23, 2020 10:03
@pOmelchenko
Copy link
Contributor Author

So I made all changes correct and that PR like finished?

I ask about that because I don't believe in that 🙈

@Bo98
Copy link
Member

Bo98 commented Apr 23, 2020

If @bayandin also thinks it's ok then yeah, I can try merge this.

We'll see if pr-publish can handle it.

@bayandin
Copy link
Member

If @bayandin also thinks it's ok then yeah, I can try merge this.

We'll see if pr-publish can handle it.

Let's do it!

And bump revision for moreno in a separate PR

@Bo98
Copy link
Member

Bo98 commented Apr 23, 2020

Just to clarify: the monero bottle did get built, just not tested.

@bayandin
Copy link
Member

Just to clarify: the moreno bottle did get built, just not tested.

That's even better

@Bo98
Copy link
Member

Bo98 commented Apr 23, 2020

Actually, I'm speaking rubbish - ignore me! It did get built but no brew bottle was run. Let's handle that separately, yes.

The revision bump will be merged, but the bottles won't exist.

@BrewTestBot
Copy link
Member

@Bo98 has triggered a merge.

@Bo98 Bo98 mentioned this pull request Apr 23, 2020
@pOmelchenko pOmelchenko deleted the icu4c-66.1 branch April 23, 2020 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants