ossia / score

ossia score, an interactive sequencer for the intermedia arts
https://ossia.io
Other
1.48k stars 103 forks source link

Please add cmake variables allowing to use external packages #946

Open yurivict opened 5 years ago

yurivict commented 5 years ago

I already have packages that are bundled installed as packages on FreeBSD. Obviously, bundling isn't scaleable because if every package would bundle all its dependencies, a lot of low-level packages would be installed exponentially many times, overfilling the disk.

Please add cmake variables USE_EXTERNAL_xx to use externally installed dependency packages in score and libossia repositories.

Thank you, Yuri

jcelerier commented 5 years ago

Hello, what are you trying to do ? If you follow this build procedure: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ossia-score

then the install step (cmake -DCMAKE_INSTALL_DO_STRIP=1 -DCOMPONENT=OssiaScore -P cmake_install.cmake) will only install the ossia-score binary on your system, not the various boost & similar includes.

yurivict commented 5 years ago

what are you trying to do ?

I am trying to create a FreeBSD port for ossia.

jcelerier commented 5 years ago

that's very nice, thanks ! does the script I linked help ? on Arch Linux it only installs those files :

/usr/bin/ossia-score
/usr/bin/ossia-score-vstpuppet
/usr/share/
/usr/share/applications/
/usr/share/applications/ossia-score.desktop
/usr/share/licenses/
/usr/share/licenses/ossia-score/
/usr/share/licenses/ossia-score/LICENSE
/usr/share/pixmaps/
/usr/share/pixmaps/ossia-score.png
yurivict commented 5 years ago

Many bundled packages exist in ports: gsl, RtMidi, tbb, websocketpp, pybind11, rapidjson, among others.

Some of them likely require patches to build, which need to be all redone just for this bundling. Also what would happen if a security issue is found in one of them? We would need to look for all instances of its bundling and fix it in dozens of places? This doesn't work well.

It is also very difficult to create and maintain a port where lots of other software is bundled.

jcelerier commented 5 years ago

Some of them likely require patches to build, which need to be all redone just for this bundling.

well, if you look at the veresion of rtmidi, tbb, websocketpp, weakjack, oscpack, etc... that we use, you'll note that they are patched too because they won't work as-is (in particular, rtmidi and oscpack were almost entirely rewritten) so it's not going to work either.