vkbo / novelWriter

novelWriter is an open source plain text editor designed for writing novels. It supports a minimal markdown-like syntax for formatting text. It is written with Python 3 (3.9+) and Qt 5 (5.15) for cross-platform support.
https://novelwriter.io
GNU General Public License v3.0
2.12k stars 111 forks source link

Release novelWriter as RPM packages #907

Open vkbo opened 3 years ago

vkbo commented 3 years ago

RPM install packages are needed for novelWriter.

Package dependencies of Fedora are:

devon-wolf commented 2 years ago

Hi there! I've been trying out novelWriter on Fedora and was looking to maybe work on this issue for you, though I did have a few thoughts:

If this is something you still really want to see included I can work on it a bit! I don't have prior experience packaging for RPM beyond a little test script, but I always like an excuse to learn a new thing. But if it isn't going to be valuable then I'll probably work on other things.

The program is really cool by the way! I've been a Scrivener user for a while and it's always frustrated me the way files get packaged up into formats only Scriv can read; it's been a dream of mine to see or build a more open version, so I'm really stoked that this exists! I'll probably be lurking around your issues looking for things I can help with.

vkbo commented 2 years ago

Hi! Yes, AppImage packages were added via a contribution (#1092) for what is now the 2.0 release cycle. 2.0 RC 1 was the first release to have it.

I've tried making an RPM package before, but couldn't quite get it to work. I don't use Red Hat or Fedora, so I'm fairly unfamiliar with that whole packaging system. It is much simpler to make than Debian packages, but since I know Debian and Ubuntu very well, I had less issues getting that to work. Ubuntu has Launchpad for contributed software, so making deb packages still makes sense even with AppImages around. I'm not really sure if the same applies to RPM, so if someone contributes it, I'll take it.

As for Scrivener, I've seen people mention the similarities. I find that quite interesting as it isn't really an inspiration for novelWriter. I did try it out once, about 6 years ago, and I too found the file format annoying, among other things. It is also a tool for a wider range of writing that what novelWriter is, and therefore more complex. I have no idea how similar they are now. I suspect that similarities arise to an extent because feature requests from users may come from familiarity with Scrivner, snd because many similar apps have similar features. The main inspirations for novelWriter from my point of view have been Zim, yWriter and GhostWriter.

Feel free to lurk around the code and jump in on issue threads. A lot of the good ideas come from these discussions, and the interaction and implementation of new ideas is what keeps the project interesting from my point of view. I'm refactoring the code quite a lot right now ahead of the 2.0 release, so it is not a good time for large feature contributions, but I am almost done. I am working to make the code more modular to make it easier to extend with planned features. As it is with such projects, a lot of the code base has grown somewhat organically, so it is gradually growing more complex and convoluted in places. I'm gradually untangling it. It is also the first proper GUI app I've ever made, so it's been quite a learning process. Professionally, I mostly write simulation code or develop libraries and frameworks for analysis. Which are quite different kinds of applications.

devon-wolf commented 2 years ago

Thank you so much for such a thorough and lovely reply to this! You've also introduced me to GhostWriter, which is VERY close to what I've been looking for. I love poking around the text editor space and seeing what little changes make any given app more seamless or not to write in, it's so full of personal quirks.

I'll be keeping an eye out here, and if I manage to configure the RPM package right I'll make a PR! I'm brushing up my Python so poking around the code here will be educational even if I don't have much to contribute just yet.

Thanks for maintaining a cool project!