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

Update Scintilla to version 4.4.5 #2600

Closed
wants to merge 11 commits into from
Closed

Conversation

kugel-
Copy link
Member

@kugel- kugel- commented Sep 28, 2020

Starting with scintilla 4.x I would like to use a new method for import scintilla.

We keep a side branch scintilla-import that contains just plain upstream scintilla releases, i.e. the unpacked tarballs imported to git. This is done with a helper script achieve a linear history with file deletions properly reflected.

Integrating a release is done simply by merging the specific commit from the scintilla-import branch git merge scintilla-import.

The only downside is that we carry the complete tarball but we don't have to track/handle individual files anymore and properly handle deletions. Any changes we make to scintilla are automatically preserved by git merge

Fixes #2519

md5: 2e8fc0202188f58854b7553e84b86c87 scintilla440.tgz
sha256: 8d2b685423726b5dbc6b591a4ce818e54058072354d78bbd6b7fba07c2521683 scintilla440.tgz
md5: 55276a9b2aa31f666f9300dd9b0a51fa scintilla442.tgz
sha256: 13f42e1d71bef2b85127ee450f9dfa995472a939a5d36a377c6a909f04541488 scintilla442.tgz
md5: c663212ecafc8ecf9d85b291bfa48eda scintilla443.tgz
sha256: 3a08d7edbc8686f767fa4f7e0252bc3c2b6ee4e513300b5e9b0f0fdb0e4d1b20 scintilla443.tgz
md5: 8eca3ce109a83999482d369d6fece3f2 scintilla444.tgz
sha256: 1ee9dda1ee99d2ba8fed00991bc2d7da20ef31da7db49a72e28c441ca3595afe scintilla444.tgz
md5: 146c68716d080dfeb022a98ab626715c scintilla445.tgz
sha256: 4f2168684b4024dc3d6b267320fff1d729192047f4a1b79aeab9ec7c64f733ec scintilla445.tgz
This updates scintilla to version 4.4.5. The merge
does not include our changes to scintilla yet. These
will come in a separate commit.

Future updates shall be done by merging scintilla-import
again. Then, our changes will be retained automatically.

Use get_scintilla.sh to import a upstream tarball into
the scintilla-import branch before merging into master.
@kugel- kugel- force-pushed the scintilla4 branch 2 times, most recently from ef1613c to c4040f2 Compare October 3, 2020 20:48
@eht16 eht16 mentioned this pull request Oct 4, 2020
This updates scintilla to version 4.4.5. The merge
does not include our changes to scintilla yet. These
will come in a separate commit.

Future updates shall be done by merging scintilla-import
again. Then, our changes will be retained automatically.

Use get_scintilla.sh to import a upstream tarball into
the scintilla-import branch before merging into master.
We previously kept changes to scintilla in a patch file.
THis is not necessary anymore as we can now simply merge
the latest upstream tarball via plain `git merge`.

I applied the patch file w.r.t. GEANY_API_SYMBOL.
For Catalogue.cxx, I switched to a different method
of selecting our wanted lexers which is less prone to
conflicts.

Also:
- scintilla requires C++17 to build so we follow;
  configure will set CXX accordingly or error out
- Compat.h only existed in the 3.x maintaince branch.
Scintilla needs C++ 17 which is supported since GCC 5. trusty/14.04 is ancient
and doesn't support C++17. Upgrade to bionic/18.04 which is old enough.
@kugel-
Copy link
Member Author

kugel- commented Oct 26, 2020

rebased onto 1.37, picked up smalltalk addition

@elextr
Copy link
Member

elextr commented Nov 9, 2020

@b4n now 1.37 is out, whats your thoughts on this?

@kugel-
Copy link
Member Author

kugel- commented Mar 12, 2021

@b4n how to proceed? This has been sitting for a while now.

@elextr
Copy link
Member

elextr commented Mar 13, 2021

First thought is that for me having all Scintilla backends we don't use in the Geany repository is useless and adds to the cost of cloning and pulling updates. There is a simple script that separates out the parts we need, why not continue to use that for now with Scintilla 4. There will be a major upheaval with Scintilla 5 anyway with Neil separating the Lexilla and Scintilla repos, that would be the time to change the approach if neccessary, not once now and again for 5.0.

@DevynCJohnson
Copy link
Contributor

@elextr , what are the current plans for upgrading to Scintilla v5? What can help accelerate the upgrade?

@elextr
Copy link
Member

elextr commented Jun 10, 2021

@DevynCJohnson have opened #2824 to discuss and not pollute this PR.

@kugel-
Copy link
Member Author

kugel- commented Aug 11, 2021

FWIW, since we now have the Julia parser ported from 5.x (including the C++17 requirement), and because I have to completely redo the update anyway, I decided to skip v4.x and rocket-jump to 5.x. This PR is obsolete now.

@kugel- kugel- closed this Aug 11, 2021
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.

Update to Scintilla 4.x
3 participants