MightyCreak / diffuse

Diffuse is a graphical tool for comparing and merging text files. It can retrieve files for comparison from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK repositories.
http://mightycreak.github.io/diffuse/
GNU General Public License v2.0
265 stars 45 forks source link

Corrected FSF's Address in License File #97

Closed bongochong closed 2 years ago

bongochong commented 3 years ago

Fedora packaging guidelines suggest keeping the mailing address up-to-date.

MightyCreak commented 2 years ago

Thanks for your contribution @bongochong !

I took the opportunity to copy/paste the whole license text from here: https://choosealicense.com/licenses/gpl-2.0/

bongochong commented 2 years ago

No problem! I'll do a rebuild for Fedora soon so that last little issue is done with. It's not a blocking issue BTW, and you can see that it's been in the repos for a while now here: https://pkgs.org/search/?q=diffuse

MightyCreak commented 2 years ago

@bongochong I've just released v0.7.0. The folder structure changed quite much. It looks a bit more like a true Python app now. No more one big file that does everything, and welcome some modularization!

It still work with regular meson command lines (meson setup build, meson compile -C build, meson install -C build). I didn't try to run it locally though, only through Flatpak. But it's in my to-do list, and I'll update the README according to what I'll learn.

bongochong commented 2 years ago

I noticed the new tag for 0.7.0! Kudos. I started toying with it on COPR an hour or two ago, and I clearly have to make some tweaks to the spec, because Fedora's build system has been throwing out errors about being unable to find some icon files. I'll let you know if I'm having trouble resolving them, but I think I'll be able to figure it out myself through inspecting the tarball further.

MightyCreak commented 2 years ago

The new folder structure should be closer to GNOME's standards. I created a Python GNOME app with GNOME Builder and modified Diffuse to get closer to it.

I hope that by doing so, you won't have to hack too much and it will be more like any other Python app

Keep me posted! 😉

bongochong commented 2 years ago

Absolutely, and many thanks @MightyCreak!

bongochong commented 2 years ago

OK, so after what I believe to be proper amendment of the .spec file, I am consistently getting RPM build errors about the following files not being found: usr/share/metainfo/io.github.mightycreak.Diffuse.metainfo.xml usr/share/icons/hicolor/scalable/apps/io.github.mightycreak.Diffuse.Devel.svg. Could this be related to the changes you've made to the meson build files? Maybe it's not outputting those icon and metainfo files to the right directories? I don't get any other errors, so if we could find a way to resolve this, the new 0.7.0 build would complete successfully.

Edit: Actually, hold on a few minutes. I think I isolated the issue.

bongochong commented 2 years ago

Yup. I resolved the icon issue (your meson build scripts don't output a io.github.mightycreak.Diffuse.Devel.svg file), and then I realized that the metainfo file is now in usr/share/appdata/. 0.7.0 has been built successfully for Fedora. Let me test things out via COPR and on my personal machines, and if all goes well, I'll put the new release up in the official repos by next week.

MightyCreak commented 2 years ago

I don't think the Devel icon is needed in official releases, is it?

As for the new metainfo path, it's defined here in the meson.build file: https://github.com/MightyCreak/diffuse/blob/master/data/meson.build#L24

I took it from the test project I created with GNOME Builder, so I guess (hope) this is standard.

MightyCreak commented 2 years ago

oh, btw i released the 0.7.1, which is way smaller. it adds a build flag, use_flatpak which is set to false by default (what you want for a fedora package ;) )

bongochong commented 2 years ago

All working great with 0.7.0. I'll pop 0.7.1 into COPR now.

Edit: Successfully built and running on my main PC right now. New release will make its way to the official repos over the next few days. Some critical Fedora servers have been having downtime today.

P.S. No that icon is not needed. No worries.

MightyCreak commented 2 years ago

@bongochong do you know how https://repology.org/project/diffuse/versions get the latest versions of a project? It seems to be stuck at 0.6.0... I suspect they are looking at the maximum version in all the repositories and call it a day.

bongochong commented 2 years ago

Don't know exactly how repology handles it, but currently the 0.7.1 build is only on COPR, so it's probably not taking 3rd party repos into account. Even when I do get the new release up on src.fedoraproject.org (should be today or tomorrow), it still has to go through a short testing period for anywhere between one and three days before it gets pushed into main, so don't be surprised if the new version doesn't show up on sites like repology until sometime next week.

bongochong commented 2 years ago

Just uploaded and built for all current branches. You can keep track of the update's status here: https://bodhi.fedoraproject.org/updates/?packages=diffuse

bongochong commented 2 years ago

This is a piece of cake now that I know what changes to pay attention to in your repo. Smooth sailing from hereon out. Noticed that 0.7.2 is up, so that's in the process of getting pushed too.

MightyCreak commented 2 years ago

Yep I think I got the motivation for the whole past year I did nothing on this project :sweat_smile:

I'm glad the modularization got through, this opens up for a lot of refactoring.
But don't be afraid, I don't think I'll be able to keep the same pace for long :joy:

bongochong commented 2 years ago

No fear :[] I too have experienced bouts of hyper-productive mania, followed by prolonged cool-off periods. Totally get it, and it's great you're rolling out updates whenever you can.

MightyCreak commented 2 years ago

I changed a bit more the structure in order to help the linters (pylint).

Now the diffuse module is in src/diffuse/, this fixes the import diffuse errors with the linter.

That said, I've been advised to use flake8 instead of pylint, so I'll see what's best (still learning a lot about python :sweat_smile: )

MightyCreak commented 2 years ago

Ok! I merged #125 !

So now it's using Flake8 and I also added mypy. This project is going to be clean AF! :laughing:

MightyCreak commented 2 years ago

New release! I've just tagged the v0.7.3 :wink:

bongochong commented 2 years ago

Thanks a bunch @MightyCreak! I'll get that one up ASAP.