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

Porting devhelp plugin for gtk3. Working display in sidebar and main … #1242

Closed
wants to merge 0 commits into from

Conversation

liomarhora
Copy link

@liomarhora liomarhora commented Mar 24, 2023

Porting devhelp plugin for gtk3. Working display in sidebar and main window. Missing showing SearchBar in sidebar or other tweaks.

@elextr
Copy link
Member

elextr commented Jun 5, 2023

Fails on Linux. Please remove all build artifacts from the PR.

@liomarhora
Copy link
Author

Fails on Linux. Please remove all build artifacts from the PR.

What would that be?

@elextr
Copy link
Member

elextr commented Jun 5, 2023

automate.cache for starters, also m4 files.

MAINTAINERS Outdated
@@ -61,6 +61,13 @@ M: Pavel Roschin <rpg89(at)post(dot)ru>
W: http://plugins.geany.org/defineformat.html
S: Maintained

devhelp
P: Matthew Brush <matt@geany.org>
Copy link
Member

Choose a reason for hiding this comment

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

Have you got Matthew's agreement to be maintainer?

Copy link
Author

Choose a reason for hiding this comment

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

Have you got Matthew's agreement to be maintainer?

I sent him an email, but got no response.

Copy link
Member

Choose a reason for hiding this comment

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

Then its rude to put him as maintainer, nominate yourself. If you are not willing to support the plugin you are proposing it will be less likely to be accepted back.

Copy link
Author

Choose a reason for hiding this comment

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

Can I put my name and email in place of theirs and their authorization?

Copy link
Member

Choose a reason for hiding this comment

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

To be clear, the plugin has been removed from Geany-plugins because it was not usable as it was and broke the build. You are effectively submitting a new plugin that is now usable, not Matthew.

He and any other authors retain copyright to the code that is reused, you can't change that, but it is licensed under the GPL allowing you to reuse it as you are retaining the GPL. That is the authorisation. What the maintainers file says has no impact on that.

Preferably you should use Git to show the changes from a position when the plugin was in the repository so the copyright is traceable. I am not a git expert so I have not considered exactly what that would entail, likely reverting the removal commits, then applying your changes on top of that.

The maintainers file is a list of contacts for the person who is willing to provide support (address issues, fix bugs, maybe add features) simply to make it easier for users to find such support. In many cases that is not the author. To avoid "drive by" plugin submissions they normally are not accepted unless the submitter is willing to stand behind their work (at least for a while).

@elextr
Copy link
Member

elextr commented Jun 5, 2023

What have you done to move the plugin to a supported version of webkit? It was deleted from geany-plugins because it used a version of webkit that was not supported by most distributions and nobody wanted to port it to the new version because IIUC the API changed significantly.

@liomarhora
Copy link
Author

What have you done to move the plugin to a supported version of webkit? It was deleted from geany-plugins because it used a version of webkit that was not supported by most distributions and nobody wanted to port it to the new version because IIUC the API changed significantly.

I analyzed the functions of the new webkit and migrated.
The same was done with libdevhelp.
There is little left to port from gtk to version 3, but it is functional

@elextr
Copy link
Member

elextr commented Jun 6, 2023

Neither Linux nor Windows CI passes, that needs to be fixed.

@elextr
Copy link
Member

elextr commented Jun 7, 2023

Why are you building libdevhelp from a static source instead of using the libdevhelp distributed by the distro that is supported with security updates bugfixes etc?

@liomarhora
Copy link
Author

liomarhora commented Jun 8, 2023

Why are you building libdevhelp from a static source instead of using the libdevhelp distributed by the distro that is supported with security updates bugfixes etc?

apologies for the delay.
I had an unforeseen event and could only respond now.
I am building with the library provided by the system (Debian).
But where are you checking the static font in the code?

@liomarhora liomarhora closed this Jun 8, 2023
@liomarhora
Copy link
Author

I accidentally closed the pull.

@liomarhora liomarhora reopened this Jun 8, 2023
@liomarhora
Copy link
Author

Neither Linux nor Windows CI passes, that needs to be fixed.

How do I perform these tests before pulling?
Why is it working normally on debian and manjaro.

@elextr
Copy link
Member

elextr commented Jun 8, 2023

The CI runs on Ubuntu 20.04

[Edit: the dependency you ask for is the old version of webkit that is no longer available, so the CI doesn't even start]

@elextr
Copy link
Member

elextr commented Jun 8, 2023

If you are using the library then remove the devhelp sources from the pull.

@liomarhora
Copy link
Author

If you are using the library then remove the devhelp sources from the pull.

ok

@liomarhora
Copy link
Author

The CI runs on Ubuntu 20.04

[Edit: the dependency you ask for is the old version of webkit that is no longer available, so the CI doesn't even start]

I believe I found the place where I requested the old version of webkit.

@liomarhora
Copy link
Author

I can't find where this libwebkitgtk dependency is in the code

@elextr
Copy link
Member

elextr commented Jun 10, 2023

Nup, you still tell CI to load libwebkitgtk-dev which does not exist any more.

Its not in the code its in the CI setup, build.yml, the CI hasn't even gotten to compiling your code yet.

The Windows build doesn't fail (it uses a docker image with pre-installed deps), but devhelp does not configure, possibly because that image doesn't have the requisite dependencies.

Maybe because of webkitgtk, @eht16 is there a even a webkitgtk for windows? Webhelper doesn't configure on windows either.

@elextr
Copy link
Member

elextr commented Jun 10, 2023

PS because you are a new contributor Github requires that we manually enable each CI run, so there can be delays before it runs.

@liomarhora
Copy link
Author

Nup, you still tell CI to load libwebkitgtk-dev which does not exist any more.

Its not in the code its in the CI setup, build.yml, the CI hasn't even gotten to compiling your code yet.

The Windows build doesn't fail (it uses a docker image with pre-installed deps), but devhelp does not configure, possibly because that image doesn't have the requisite dependencies.

Maybe because of webkitgtk, @eht16 is there a even a webkitgtk for windows? Webhelper doesn't configure on windows either.

how do i solve this?

@elextr
Copy link
Member

elextr commented Jun 10, 2023

Its not in the code its in the CI setup, build.yml, the CI hasn't even gotten to compiling your code yet.

That by editing your changes to build.yaml to ask for the correct version.

Windows, forget it, to answer my own question to @eht16 above, google can't find webkitgtk for windows, so it probably doesn't exist.

@liomarhora
Copy link
Author

Its not in the code its in the CI setup, build.yml, the CI hasn't even gotten to compiling your code yet.

That by editing your changes to build.yaml to ask for the correct version.

Windows, forget it, to answer my own question to @eht16 above, google can't find webkitgtk for windows, so it probably doesn't exist.

I just edited the settings in the devhelp.m4 file.
Was it this file?

@elextr
Copy link
Member

elextr commented Jun 10, 2023

(/me slips into grumpy olde guy mode) How is build.yaml devhelp.m4?

For me build.yaml comes up as the very first change on the "Files Changed" tab of the PR on github.

@liomarhora
Copy link
Author

(/me slips into grumpy olde guy mode) How is build.yaml devhelp.m4?

For me build.yaml comes up as the very first change on the "Files Changed" tab of the PR on github.

sorry,
I will try to identify

@eht16
Copy link
Member

eht16 commented Jun 10, 2023 via email

@elextr
Copy link
Member

elextr commented Jun 10, 2023

ok, since the windows CI properly configures devhelp disabled there is nothing to do there.

So @liomarhora this just needs to depend on a current package, possibly libwebkit2gtk-4.0-dev (what is installed here on old Mint). Then the CI should get to your code, as its working that should go smoothly :-).

@liomarhora
Copy link
Author

ok, since the windows CI properly configures devhelp disabled there is nothing to do there.

So @liomarhora this just needs to depend on a current package, possibly libwebkit2gtk-4.0-dev (what is installed here on old Mint). Then the CI should get to your code, as its working that should go smoothly :-).

updated version of webkitgtk library in CI.
Could you run the test?

@elextr
Copy link
Member

elextr commented Jun 22, 2023

Ahhh, now both Linux and Windows break, the devhelp.m4 should explicitly disable on windows since the libwebkit2 is available on the cross compile host platform and that is what configure tests. I am m4 illiterate, maybe some expert can advise how.

@liomarhora Linux fail means you have a dependency on something else which you happen to have installed on your machine but which isn't on the CI machine, no idea what.

@liomarhora
Copy link
Author

Ahhh, now both Linux and Windows break, the devhelp.m4 should explicitly disable on windows since the libwebkit2 is available on the cross compile host platform and that is what configure tests. I am m4 illiterate, maybe some expert can advise how.

@liomarhora Linux fail means you have a dependency on something else which you happen to have installed on your machine but which isn't on the CI machine, no idea what.

I will check

@liomarhora
Copy link
Author

Is there a way to run the app on the CI of my fork before pulling it on the master?

@elextr
Copy link
Member

elextr commented Jun 22, 2023

Is there a way to run the app on the CI of my fork before pulling it on the master?

Possibly, but I don't know how, possibly a github expert can tell what needs to be enabled.

@liomarhora
Copy link
Author

Existe uma maneira de executar o aplicativo no CI do meu garfo antes de puxá-lo no mestre?

Possivelmente, mas não sei como, possivelmente um especialista do github pode dizer o que precisa ser ativado.

I'll search

@liomarhora
Copy link
Author

Is there a way to run the app on the CI of my fork before pulling it on the master?

Possibly, but I don't know how, possibly a github expert can tell what needs to be enabled.

@liomarhora liomarhora closed this Jul 26, 2023
@liomarhora liomarhora reopened this Jul 26, 2023
@liomarhora
Copy link
Author

Is there a way to run the app on the CI of my fork before pulling it on the master?

Possibly, but I don't know how, possibly a github expert can tell what needs to be enabled.

hello,
I created a repository and did the tests in the CI and managed to fix the problem.
I've updated the current repository and I'm waiting for it to run on CI.
Could you perform this action for me?

@liomarhora
Copy link
Author

there was in the POTFILES.in file the path of the old devhelp library. But I already made the changes.

@liomarhora
Copy link
Author

Hello,
Could take action now

@liomarhora
Copy link
Author

what is the next step?

@elextr
Copy link
Member

elextr commented Jul 26, 2023

You need to remove all the product files that have been committed. Anything that matches the patterns in geany-plugins .gitignore.

@liomarhora
Copy link
Author

You need to remove all the product files that have been committed. Anything that matches the patterns in geany-plugins .gitignore.

I was kind of lost on how to do this removal.
Would you help me?

@elextr
Copy link
Member

elextr commented Jul 29, 2023

Manually with git-rm. Then do not build until after committing the removal.

@liomarhora
Copy link
Author

manualmente com git-rm. Então não construa até depois de confirmar a remoção.

Before confirming I used the command git clean -fxd to remove the compiled files.
Analyzing the directory I can't find the files that should be excluded.
Could you give me examples of which ones I should exclude.

@liomarhora
Copy link
Author

there were 23 commits, so I ran git reset --soft HEAD~22 and deleted 96 files.
Was that the procedure?

Copy link
Member

@eht16 eht16 left a comment

Choose a reason for hiding this comment

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

I had a quick look and left a few comments.
Though this was no proper review, just a first look.

devhelp/AUTHORS Outdated Show resolved Hide resolved
devhelp/src/dhp-plugin.c Outdated Show resolved Hide resolved
devhelp/src/dhp-manpages.c Outdated Show resolved Hide resolved
@@ -0,0 +1,10 @@
include $(top_srcdir)/build/vars.auxfiles.mk

if GP_GTK3
Copy link
Member

Choose a reason for hiding this comment

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

What's the use of this switch? :D

Copy link
Author

Choose a reason for hiding this comment

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

The plugin used an old devhelp library.
That's why this condition exists

Copy link
Member

Choose a reason for hiding this comment

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

Well, I meant that both branches of the switch seem to do the same and so the switch is not necessary at all.

Additionally, Geany-Plugins are always using GTK3, we do not support GTK2 anymore.

devhelp/autogen.sh Outdated Show resolved Hide resolved
dist_plugindata_DATA = \
devhelp-plugin.svg \
devhelp-plugin-48.png \
geany-devhelp-plugin.png \
Copy link
Member

Choose a reason for hiding this comment

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

geany-devhelp.png is missing here or it is not used and can be removed?

Copy link
Author

Choose a reason for hiding this comment

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

Done.

Copy link
Member

Choose a reason for hiding this comment

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

The file is still not referenced here or am I missing something?

dist_plugindata_DATA ensures that files listed here will be included in releases and get installed properly. If you do not add the image filename here, it won't be installed.

@@ -0,0 +1,1630 @@
# Doxyfile 1.7.1
Copy link
Member

Choose a reason for hiding this comment

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

Is this file used anywhere?

Copy link
Author

Choose a reason for hiding this comment

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

I still don't know the purpose of this file in the project.
Could you leave it like that?
In the future I will find out about his role in the project.

Copy link
Member

Choose a reason for hiding this comment

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

Just delete it.
This is the configuration for Doxygen, a tool to generate API documentation for code. But it is unlikely to be necessary or useful in this context. If you at some point in the future want to use Doxygen, then it is eay to regenerate the config again from scratch.

@eht16
Copy link
Member

eht16 commented Jul 30, 2023

there were 23 commits, so I ran git reset --soft HEAD~22 and deleted 96 files. Was that the procedure?

This removed the commits only for you locally, they are still here in the repository. Just the delete (git rm as @elextr said) the files mentioned in one of my comments above.

hello, I created a repository and did the tests in the CI and managed to fix the problem. I've updated the current repository and I'm waiting for it to run on CI. Could you perform this action for me?

I just approved the CI pipeline, so further pushes will be checked automatically.

@elextr
Copy link
Member

elextr commented Jul 31, 2023

@liomarhora the problem was that you had committed some of those build files to your branch, perhaps you force added them.
As @eht16 said they need to be removed from there, not just the working directory, we don't want your specific build artefacts in the repository.

possibly git-ls-files -i --exclude-standard will list them [untried advice]

@liomarhora
Copy link
Author

@liomarhorao problema é que você havia confirmado alguns desses arquivos de construção em sua ramificação, talvez você os tenha adicionado à força. Como@eht16disse que eles precisam ser removidos de lá, não apenas do diretório de trabalho, não queremos seus artefatos de construção específicos no repositório.

possivelmente git-ls-files -i --exclude-standardirá listá-los [conselho não experimentado]

Right.
Understood

@liomarhora
Copy link
Author

I made the modifications.
What is the next step?

devhelp/INSTALL Outdated Show resolved Hide resolved
devhelp/src/dhp-settings.c Outdated Show resolved Hide resolved
@eht16
Copy link
Member

eht16 commented Jul 31, 2023

I made the modifications. What is the next step?

Be a bit more patient until someone does a full review.
I would like to but cannot say when I find time to do it.

@liomarhora
Copy link
Author

liomarhora commented Jul 31, 2023

Fiz as modificações. Qual é o próximo passo?

Seja um pouco mais paciente até que alguém faça uma revisão completa. Eu gostaria, mas não posso dizer quando encontrarei tempo para fazê-lo.

All good.
I'm new with programming.
I thank you and Elextr for your patience.

This was referenced Aug 5, 2023
@liomarhora
Copy link
Author

Hi,
While the plugin was not accepted, I'm working on it.
I made some changes regarding Zoom.

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.

3 participants