Closed Be-ing closed 3 years ago
It looks like the old build system never set the library version, so I guess 1.0.0 is appropriate? These are the files installed by the portmidi-devel package on Fedora:
portmidi on library_version via △ v3.20.5 took 2s
❯ rpm -ql portmidi-devel
/usr/include/pmutil.h
/usr/include/portmidi.h
/usr/include/porttime.h
/usr/lib64/libportmidi.so
/usr/share/doc/portmidi-devel
/usr/share/doc/portmidi-devel/README.txt
/usr/share/doc/portmidi-devel/html
/usr/share/doc/portmidi-devel/html/Info.plist
/usr/share/doc/portmidi-devel/html/Makefile
/usr/share/doc/portmidi-devel/html/Nodes.xml
/usr/share/doc/portmidi-devel/html/Tokens.xml
/usr/share/doc/portmidi-devel/html/annotated.html
/usr/share/doc/portmidi-devel/html/annotated_dup.js
/usr/share/doc/portmidi-devel/html/bc_s.png
/usr/share/doc/portmidi-devel/html/bdwn.png
/usr/share/doc/portmidi-devel/html/classes.html
/usr/share/doc/portmidi-devel/html/closed.png
/usr/share/doc/portmidi-devel/html/dir_ded2072a22a771178971ff408a022519.html
/usr/share/doc/portmidi-devel/html/doc.png
/usr/share/doc/portmidi-devel/html/doxygen.css
/usr/share/doc/portmidi-devel/html/doxygen.svg
/usr/share/doc/portmidi-devel/html/dynsections.js
/usr/share/doc/portmidi-devel/html/files.html
/usr/share/doc/portmidi-devel/html/files_dup.js
/usr/share/doc/portmidi-devel/html/folderclosed.png
/usr/share/doc/portmidi-devel/html/folderopen.png
/usr/share/doc/portmidi-devel/html/functions.html
/usr/share/doc/portmidi-devel/html/functions_vars.html
/usr/share/doc/portmidi-devel/html/group__grp__device.html
/usr/share/doc/portmidi-devel/html/group__grp__device.js
/usr/share/doc/portmidi-devel/html/group__grp__events__filters.html
/usr/share/doc/portmidi-devel/html/group__grp__events__filters.js
/usr/share/doc/portmidi-devel/html/group__grp__io.html
/usr/share/doc/portmidi-devel/html/group__grp__io.js
/usr/share/doc/portmidi-devel/html/index.html
/usr/share/doc/portmidi-devel/html/jquery.js
/usr/share/doc/portmidi-devel/html/menu.js
/usr/share/doc/portmidi-devel/html/menudata.js
/usr/share/doc/portmidi-devel/html/modules.html
/usr/share/doc/portmidi-devel/html/modules.js
/usr/share/doc/portmidi-devel/html/nav_f.png
/usr/share/doc/portmidi-devel/html/nav_g.png
/usr/share/doc/portmidi-devel/html/nav_h.png
/usr/share/doc/portmidi-devel/html/navtree.css
/usr/share/doc/portmidi-devel/html/navtree.js
/usr/share/doc/portmidi-devel/html/navtreedata.js
/usr/share/doc/portmidi-devel/html/navtreeindex0.js
/usr/share/doc/portmidi-devel/html/open.png
/usr/share/doc/portmidi-devel/html/portmidi_8c_source.html
/usr/share/doc/portmidi-devel/html/portmidi_8h_source.html
/usr/share/doc/portmidi-devel/html/resize.js
/usr/share/doc/portmidi-devel/html/splitbar.png
/usr/share/doc/portmidi-devel/html/structPmDeviceInfo.html
/usr/share/doc/portmidi-devel/html/structPmDeviceInfo.js
/usr/share/doc/portmidi-devel/html/structPmEvent.html
/usr/share/doc/portmidi-devel/html/structPmEvent.js
/usr/share/doc/portmidi-devel/html/sync_off.png
/usr/share/doc/portmidi-devel/html/sync_on.png
/usr/share/doc/portmidi-devel/html/tab_a.png
/usr/share/doc/portmidi-devel/html/tab_b.png
/usr/share/doc/portmidi-devel/html/tab_h.png
/usr/share/doc/portmidi-devel/html/tab_s.png
/usr/share/doc/portmidi-devel/html/tabs.css
Normally the latest git tag is used as the version number. This project uses a bit of a weird version notation though, so maybe 1.0.0 is a correct version. No clue :shrug:
@dvzrv can you take a look at this? The Arch package for PortMidi has used the SVN revision numbers and the .so has no version.
@Be-ing is this going to be a drop-in replacement of the dead original upstream? If so: Thanks, that's great!
I have no clear opinion on this tbh, as I'm just glad that someone picks it up. With most downstreams the consensus seems to be to use the original svn revision as version number though.
The .so version seems to be non-existent/broken (at least when looking at the Arch Linux package), so I guess you can do whatever you want pretty much ;-)
@Be-ing is this going to be a drop-in replacement of the dead original upstream? If so: Thanks, that's great!
Yes, all I've done is rewrite the build system with modern CMake. In the future we might implement hotplug support, or if not switch to a more actively maintained cross platform MIDI library for that.
I have also forked PortSMF for Tenacity and wrote a modern CMakeLists.txt for it too.
I changed this so the SOVERSION is 1 and the VERSION is 1.0.${CMAKE_PROJECT_VERSION}
. Does that work?
@PureTryOut @dvzrv could you take another look at this?
Seems fine to me.
ping @PureTryOut