PortMidi / portmidi

portmidi is a cross-platform MIDI input/output library
Other
119 stars 33 forks source link

Please tag a new release #4

Closed darix closed 2 years ago

darix commented 2 years ago

even on sourceforge the last release was a moment or 2 ago.

rbdannenberg commented 2 years ago

The latest changes are untested, so there is no new release. What did you find on sourceforge? I can't find anything there that looks like a new release to me. (Or was that sarcastic? Yes, it has been ages.) But a new release seems close. When there is a release, could you explain in detail what it means to you to create and "tag" a release?

darix commented 2 years ago

it was sarcastic because we just looked into portmidi if we have to update it, to enable darktable midi support and then we saw that git is active but still no new release in like 10y. so i figured i would ask if we could get one :)

cryptomilk commented 2 years ago

Git basics for tagging: https://git-scm.com/book/en/v2/Git-Basics-Tagging How to version libraries correctly: https://github.com/ansasaki/abimap

Hope that helps :-)

cryptomilk commented 2 years ago

And for cmake: http://cliutils.gitlab.io/modern-cmake/

rbdannenberg commented 2 years ago

Thanks. Git-Basics-Tagging describes mechanisms, but I'm asking about policy. Surely if I call a release "xyzzy" you won't be happy. What if I want to create a release candidate? What if I want to tag something that's not a release? These are all policy issues.

I didn't find abimap very helpful. E.g., it gives examples, but doesn't say much about what they mean.

Instead of asking what you want, maybe I should say what I will do, and you can say what's wrong with it. When there's a release ready, I'll make a tag named "v2.0.1" and use the Github "Create a new release" page to describe the release and tag.

cryptomilk commented 2 years ago

Make a least sure a correct libary version and soversion is set. You can find a short description here: https://gitlab.com/libssh/libssh-mirror/-/blob/master/CMakeLists.txt#L18 and https://gitlab.com/libssh/libssh-mirror/-/blob/master/src/CMakeLists.txt#L371

As it is a library make sure that PIC (Position Independent Code) is enabled in cmake: https://gitlab.com/libssh/libssh-mirror/-/blob/master/cmake/Modules/DefineCMakeDefaults.cmake#L20

rbdannenberg commented 2 years ago

OK, I think those changes are in (locally). It takes awhile to run all the tests on 3 platforms, but it should be done by tomorrow.

Be-ing commented 2 years ago

Please do not tag a release until you confirm that the library actually builds and installs correctly (#5). My bad, it does build, however it does not install (#6).

rbdannenberg commented 2 years ago

I just ran a bunch of tests on 3 platforms. The current head is poised to become v2.0.1, but given the rate of comments/changes, I'll give it at least 24 hours to see if we're really there yet.

rbdannenberg commented 2 years ago

Just a note: I don't have a spec or enough knowledge to test installation support.

cryptomilk commented 2 years ago

What you should make sure is to install it in the system write small test cmake programm which uses:

find_package(PortMidi 2.0.0 CONFIG)

It should find portmidi with the cmake files and you should be able to compile a test program and link with portmidi.

cryptomilk commented 2 years ago

In case you want to create tarball, cmake comes with pack. When configure you can call make package_source

Example: https://gitlab.com/cmocka/cmocka/-/blob/master/CPackConfig.cmake

Be-ing commented 2 years ago

I already tested find_package(PortMidi 2.0.1 CONFIG REQUIRED) building Mixxx with this repository and it works.

Be-ing commented 2 years ago

The pkgconfig file is also working:

pkg_check_modules(portmidi REQUIRED IMPORTED_TARGET portmidi>=2.0.1)
target_link_libraries(mixxx-lib PRIVATE PkgConfig::portmidi)
rbdannenberg commented 2 years ago

Finally! I less time passes before the next release than for this one, but I also hope the code is as solid as the last version, which has really held up surprisingly well. Thanks for the contributions and support.

Be-ing commented 2 years ago

vcpkg PR: https://github.com/microsoft/vcpkg/pull/22256