11 ms·
Qpm: A package manager for Qt
- jflowers45 11y agobut is there a leftpad package available?
- pax_americana 11y agoYou can use this to include Node.js libraries on your Qt/QML projects: https://github.com/quickly/quickly https://github.com/quickly/quickly
- noobermin 11y agohttp://doc.qt.io/qt-4.8/qstring.html#rightJustified http://doc.qt.io/qt-4.8/qstring.html#rightJustified :)
- discreteevent 11y agoIt's a method on a QString object? No, no, no! Look at all the other methods on QString, what a mess! What happened to do one thing and do it well? This needs to be in a separate downloadable package. That package could be so simple and minimal. My guess is that these Qt people probably use an IDE and want to be able to immediately see what methods are available in the context of a QString. Then they want code completion as they supply parameters to it. That's so OO. (Ok the method is immutable and composable but its still blatant 90s object orientation)
- guruz 11y agoI can confirm it does not use any external package or webservice in its implementation. https://code.woboq.org/kde/qt4/src/corelib/tools/qstring.cpp.html#_ZNK7QString14rightJustifiedEi5QCharb https://code.woboq.org/kde/qt4/src/corelib/tools/qstring.cpp...
- voltagex_ 11y agoHas anyone got a checklist for package managers? There are so many it'd be nice to be able to predict what problems they're going to face in the future (and hopefully prompt better design in the process)
- a-nikolaev 11y ago[jk] a package manager of package managers is coming to rule them all )
- noobermin 11y agoWill the package manager manage itself?
- andkenneth 11y agoDon't most package managers do that themselves anyway? Like npm and pip seem to. Or are they doing something different behind the scenes.
- cyphar 11y agoZypper, apt, dpkg, pacman, etc. all manage themselves.
- a-nikolaev 11y agobootstrapping package manager, yes )
- archgoon 11y agoIt will manage all the package managers that do not manage themselves.
- agumonkey 11y agopackage calculus
- simondedalus 11y agoit should be called russell's package manager.
- saulrh 11y agoGiven how many non-obvious but easily-solvable problems there are with package management... this might actually not be a terrible idea. The biggest issue would be making it sufficiently flexible to integrate with anything that wants packages, including things like video game modding platforms and programming languages with in-language namespacing/module/package features.
- cjensen 11y agoIs there a list of packages anywhere? Seems strange to download a package manager and just hope there are any packages.
- mappu 11y agoYou can find the list via `qpm list`. Here's the current output at the time of writing: http://paste.debian.net/plain/432079 http://paste.debian.net/plain/432079
- Ericson2314 11y agoWell, at the very least I hope they aren't trying to package C++ with this...
- jrbarron 11y agoC++ works with qpm, but it doesn't package anything in binary form. It just pulls down the source code from Github and generates some boilerplate to wire it up to the application project.
- educar 11y agoSo, a Qt package manager written in Go :-) Why not C++ ?
- pjmlp 11y agoIt isn't written by the Qt guys.
- jrbarron 11y agoThe decision was between Node, Qt, and Go. At the end of the day, we wanted the possibility to share code between the client and server and Go's server side support is much better than Qt's so we decided to implement it in Go. Go is great for command line tools and being able to cross-compile a Windows binary from a Mac is awesome. Go's static binary approach made deployment trivial in comparison to Node so that made it a winner :)
- pritambaral 11y agoQt isn't really C++-only anymore, at least with QML. Notwithstanding the use of JS for QML itself, there exist some bindings to QML in non-JS, non-C++ languages. So I guess there is demand for Qt (or at least some parts of it) in non-C++-worlds.
- coldtea 11y ago>Qt isn't really C++-only anymore, at least with QML. Notwithstanding the use of JS for QML itself, there exist some bindings to QML in non-JS, non-C++ languages. So I guess there is demand for Qt (or at least some parts of it) in non-C++-worlds. All of these worlds would be loading a ton of C++ QT base libs in any case.
- jordigh 11y agoQt was never C++, since it always had the MOC.
- bpchaps 11y agoAh, that probably explains it... The resources spent on making this might just explain why qt has been so difficult to install! ;)
- distances 11y agoYes I know you're joking, but seems it's done by Cutehacks [1], so probably no involvement from the Qt project itself. [1] http://www.cutehacks.com http://www.cutehacks.com
- Ace17 11y agoNext step: each library gets its own package manager ... and we're back to square one.
- schluchti 11y agoAs someone mentioned including node.js to QML projects: Does anyone know if there exists a QML port of fabric.js (or a similar canvas library?). I would need a library to create all kind of geometric shapes (rectangles, circles,..) and the ability to move them around, snap them to other objects, resize them... I am currently trying to implement that myself with the QML canvas, but it is not that easy to get a smooth working library.
- akerro 11y agoNext time before upvoting I must check if it's available on most major platforms...
- jrbarron 11y agoThere should be binaries for Mac, Windows and Linux and the source should compile on FreeBSD and others. What's missing?
- e12e 11y agoI'm not sure if you gain a lot of confidence from me if you build a package manager in go, and the avoid distributing it using go excellent package manager (ie: "go get qpm.io/qpm", done)... ;-) If you will pardon me from being lazy and not looking at the source, is there a reason for that? I see a lot of people here don't seem to get the purpose of this -- having played a bit with c++ and pkg-config[1] ... I assume that pkg-config is the kind of software this project tries to improve on? I can see how that might make sense for qt, which already has some properties of a runtime/standard-library (eg: qt string). And/or perhaps copy go's package management for c++/qt? I suppose I can't really say I've seen the need that this project fills -- but I still wish it well :-) [1] https://www.freedesktop.org/wiki/Software/pkg-config/ https://www.freedesktop.org/wiki/Software/pkg-config/
- jrbarron 11y agoVery valid point about 'go get'! The main problem currently is that we put all the source dependencies in the repo as Git submodules and use the repo itself as the GOPATH. We do this because we are using some dependencies whose APIs are still changing often (eg: Protobuf/GRPC) and we wanted control over the exact SHA1 we were using. Now that the vendoring experiment is enabled in Go 1.6, we can probably use that to solve this. Thanks for bringing this up! As for the problem this solves; this is a package manager for Qt app development. It doesn't try to operate on a system level like pkgconfig. There's no system-wide shared code. Every app you are building has it's own copy of the code it needs locally like npm/node_modules. In addition to downloading dependencies, the tool generates some code to cleanly add it to your project without you having to mess with include paths or other settings. It also encourages things like proper namespacing (both C++ and QML) to avoid collisions.
- fit2rule 11y agoI'm personally getting so sick of all the package managers I have to use, I'm more and more inclined to not use a technology if it comes with a package management system. Seriously, what is going on with the OS vendors? Its like .. the Web came along and now nobody wants to build better operating systems .. shouldn't package management be a function of the OS? Its really just filesystem/tree management, and this really, really should be something we can use the OS for. However, its just not happening. Language vendors have to solve this problem because the OS vendors are asleep at the wheel. I think its apathy - the browser has replaced the OS, and very poorly. Nobody wants to fix this problem, I guess ..
- kluck 11y agoIn case of Linux: the kernel alone does not make an OS, so if you consider the various distributions of Linux OS'es, like Debian for example: Each (well the large ones) distribution comes with their own package management tools. So currently the "state of the art" is: Create a package for each OS (which means multiple OS'es of flavour "Linux"). I really wish their was a generic tool that would input a source tree and output packages for the most common package management systems. Anyone?
- maximaximal 11y agoYou could have a look at CPack: https://cmake.org/Wiki/CMake:Packaging_With_CPack https://cmake.org/Wiki/CMake:Packaging_With_CPack It was created to be used with the C++ build system CMake, but can be used without it too. I use it to automatically build debian packages from Jenkins, but it also supports tarballs, RPMs, NSIS (Windows), PackageMaker (OS X), and cygwin packages. Hope this helps a bit!
- fit2rule 11y agoThat's precisely the point: we already have package managers. Its just 'unfashionable' to use them. What I would do if my language needed package management: write an abstraction for whatever package managers exist on the platform I'm targeting. So my 'package manager' would just be a smart shell around apt-get, or yum, or whatever. Okay, this looks like an idea ripe for the attention ..
- deleted 11y ago[deleted]
- metachris 11y agoIs there a list of packages where I can see what could be installed? Edit: There is not. But here is a list of current packages: https://github.com/Cutehacks/qpm/issues/28#issuecomment-208233790 https://github.com/Cutehacks/qpm/issues/28#issuecomment-2082...
- distances 11y agoHow does this compare to Incqlude (https://inqlude.org https://inqlude.org), which names itself "The Qt library archive"?
- dharma1 11y agois there a list of current packages on qpm somewhere so far? Also - any reason why couldn't just use npm with Qt?
- embik 11y agoI'm irritated by the loading screen and the enormous list of JavaScript pulled in. That's a simple static page using a few css animations. Is adding bloat considered "modern webdesign"?
- timlyo 11y agoHow else would we pad our strings?
- egeozcan 11y agoThe example you are giving is actually a result of trying to prevent bloat.
- timlyo 11y agoBy adding a dependency to do a one line task?
- egeozcan 11y agoWell, you can add bloat by inlining it too, if it's repeated many times. I thought bloat was for unused code loaded as a side effect to code that one actually depends on, for example, as a part of a big library. That makes a huge difference if you are targeting the client side. I mean, you could also have it as a helper function in your project but that decreases the re-usability to copy-pasting across projects. In the end, effective or not, I can see it as an attempt on reducing bloat. I see that many don't agree, but I'm afraid they don't take into account the constraints imposed by sending code to the clients rather than a binary.
- egeozcan 11y agoFrom the down-votes, I gather that people may have missed what I was trying to say. The left-pad discussion generally divided people into 3 general opinions: 1) Use a monolithic library like lodash 2) Use a library for each function (note that lodash can also be used in this way but we are already far off-topic) 3) Inline these small functions. So a website loading lots of monolithic libraries and using JS for everything is actually the opposite extreme for what caused that drama. If I'm wrong or irrelevant, please tell me how instead of down-voting please because I sincerely don't see how. Thank you.
- deleted 11y ago[deleted]