Snap z definicji nie może mieć zależności, bo to jest paczka "all in one", ze wszystkimi zależnościami wbudowanymi i jest całkowicie niezależny od systemu pakietów natywnych dla systemu (typu DEB czy RPM)
Moze to jest bardziej skomplikowane.
Snap Store app a przynajmniej mi przypomina menadzera pakietow DEB, czy RPM.
Kazdy pakiet posiada nawet plik informacyjny,
https://docs.snapcraft.io/the-snapcraft-format/8337krory mozna by rozbudowac do rzeczy ktore bylyby pomocne w budowaniu i zarzadzaniu pakietu.
Choc nie znalazlem wiecej szczegolow odnosnie mozliwosci budowania, ani nie znam wizji tego projektu, wiec nie wiem czym dokładniej ten projekt jest.
Ale wierze ze " potrzeba jest matką wynalazku " , ale nie da sie tego osiagnac, bez zgłaszania potrzeb i problemów.
Nie oczekuj, że snap IDE będzie miał wszystkie możliwie biblioteki developerskie wbudowane w siebie.
Troche na inny temat.
Wiekszosc developerow pisze takie skrypty jak .configure , cmake ktore maja za zadanie sprawdzic czy uzytkownik ma zainstalowane dane zaleznosci do kompilowania.
Nawet ze skryptu mozna probowac wylowic komendy na podstawie listy komend z
compgen -c , wiec mozna probowac automatycznie wylowic zaleznosci,
jesli dany menadzer DEB, RPM lub inny potrafi pokazac do jakiego pakietu ( a nawet nazwe kodu zrodlowego ) nalezy plik z podana sciezka ktora pokazala komenda
which.
Ma to za zadanie uniknac takich komunikatow jak wyzej, ktore nie zawsze wskazuja na nazwe konkretnej brakujacej zaleznosci.
Mam wrazenie ze czesc tych skryptow jest pisana recznie, ale uwazam ze mozna by ten proces zautomatyzowac
i nie informowac uzytkownika jakie nazwy pakietow np. .deb zostaly uzyte na Debianie,
ale powinny skrypty informowac jakie pakiety zrodlowe zostaly uzyte na podstawie informacji o pakietach np. apt-cache lub cos podobnego,
bo to jest bardziej pomocne dla osoby kompilujacej na innych dystrybucjach.
W przypadku snap, nie zawsze oczekiwalbym od IDE by wbudowywał wszystkie biblioteki w budowany pakiet,
ale zeby poinformowal uzytkownika jakiego pakietu i w jakiej wersji snap oczekuje,
jezeli paczkujacy wie ze uzytkownik bedzie potrzebowal.
Nie zawsze sie moze da, gdy np. uzytkownik ma skompilowany inaczej w systemie python i brakuje tam pliku.
a w tym przypadku bylo to mozliwe, poniewaz zaleznosc jest osobnym kodem zrodlowym
https://pypi.org/project/setuptools/#filesWiem ze problem jest troche bardziej zlozony,
np. podalem przyklad z wyszukiwaniem zaleznosci w skrypcie,
ale kompilator C raz inne jezyki programowania musza miec wlasne wypracowane narzedzia.
Jestem zmeczony, ale mam nadzieje ze jasno wyrazilem swoje poglady.