Opened 7 years ago
Closed 7 years ago
#55211 closed defect (fixed)
qscintilla and qscintilla2 are substantially the same software
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | michaelld (Michael Dickens) | |
Port: | qscintilla, qscintilla2 |
Description
It seems that we have two ports that do the same thing:
$ port info qscintilla qscintilla2 qscintilla @2.10.1 (devel) Variants: debug, universal Description: QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control. As well as features found in standard text editing components, QScintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts. See the py*-qscintilla port to install python bindings. Homepage: http://www.riverbankcomputing.com/software/qscintilla/ Build Dependencies: pkgconfig Library Dependencies: qt4-mac Platforms: darwin License: {GPL-2 GPL-3 OpenSSLException} Maintainers: Email: michaelld@macports.org, GitHub: michaelld Policy: openmaintainer -- qscintilla2 @2.10 (devel) Sub-ports: qscintilla2-designer, py27-qscintilla2, py34-qscintilla2, py35-qscintilla2, py36-qscintilla2 Variants: debug, universal Description: QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control. As well as features found in standard text editing components, QScintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts. Homepage: http://www.riverbankcomputing.com/software/qscintilla/ Build Dependencies: pkgconfig Library Dependencies: qt5-qtbase, qt5-qtmacextras Platforms: darwin License: GPL-3 Maintainers: Email: mcalhoun@macports.org Policy: openmaintainer $
The differences seem to be:
- qscintilla2 is outdated
- qscintilla2 uses qt5 while qscintilla uses qt4-mac
- qscintilla2 has subports for the python language bindings and designer, while qscintilla has separate ports for the language bindings and I don't know what's going on with designer
Can this be sorted out so that we're left with only a single copy of these ports? Whatever you decide, be sure to replaced_by
so that users who have the one port will be upgraded to the other, and update dependencies in other ports and revbump them.
Change History (9)
comment:1 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, I assumed qscintilla had been created at version 1.x, qscintilla2 had later been created at version 2.x, and then sometime later qscintilla had been updated to version 2.x without realizing that qscintilla2 already existed. However I see now that qscintilla was originally created at version 2.3.2, which makes the subsequent creation of qscintilla2 years later even more baffling.
If the intention is to have ports for qscintilla 2 with qt 4 and ports for qscintilla 2 for qt 5, that's fine, but the port names should be fixed to convey that, they should probably be made more similar, and probably both be maintained by the same maintainer(s).
comment:3 follow-up: 5 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to ryandesign:
If the intention is to have ports for qscintilla 2 with qt 4 and ports for qscintilla 2 for qt 5, that's fine, but the port names should be fixed to convey that, they should probably be made more similar, and probably both be maintained by the same maintainer(s).
Renaming should not be too difficult as neither port has a large number of dependents.
- For maximum clarity, we could use
- qscintilla-qt4
- qscintilla-qt5
- For minimum disruption, we could use
- qscintilla
- qscintilla-qt5
Does anyone have strong feelings one way or another?
Making them more similar is a good idea.
It might prove a little difficult in practice.
Qt4 and Qt5 each seem to have their own particular quirks.
comment:4 Changed 7 years ago by mf2k (Frank Schima)
I think we should strive for clarity. The first approach sounds best to me.
comment:5 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to MarcusCalhoun-Lopez:
- For maximum clarity, we could use
- qscintilla-qt4
- qscintilla-qt5
This was going to be my first suggestion.
Making them more similar is a good idea.
It might prove a little difficult in practice.
Qt4 and Qt5 each seem to have their own particular quirks.
I understand Qt4 and Qt5 are different. But there should not be unnecessary differences beyond that. They might even be combined into a single Portfile, with subports, to ensure minimal drift. You need only diff the two portfiles against each other to see how many unnecessary differences currently exist.
comment:6 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | MarcusCalhoun-Lopez removed |
---|---|
Owner: | set to MarcusCalhoun-Lopez |
Status: | new → accepted |
comment:7 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:8 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:9 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
The naming convention could certainly be improved, and there is code duplication between the ports, but I would respectfully disagree with the characterization that the ports "do the same thing."
For example, qscintilla installs
libqscintilla2_qt4.dylib
while qscintilla2 installslibqscintilla2_qt5.dylib
.Both qscintilla and qscintilla2 should be able to be installed at the same time.
If by "single copy of these ports," you mean have them be in the same Portfile, then yes, that could fairly easily be done.
If "single copy" means just one Qscintilla, I would argue that such a move is unnecessary.
qscintilla provides functionality for Qt4 while qscintilla2 provide functionality for Qt5.
Again, the naming of the ports and/or the documentation in the Portfile could certainly be improved to reflect the different responsibilities.