4 ms·
I dislike it because it’s really slow to do everything. Even printing help text is slow. Contrast with pacman on Arch, which is incredibly fast at nearly every
by kelp 5y ago
I dislike it because it’s really slow to do everything. Even printing help text is slow.
Contrast with pacman on Arch, which is incredibly fast at nearly every operation.
Unfortunately I’ve found all the package managers for macOS to be lacking.
brew is slow, but has packages for most things and generally up to date.
fink packages seem a bit out dated last I checked. At least the ones I cared about.
MacPorts is also slow and somewhat out of date.
pkgsrc doesn’t have Apple M1 binary packages available yet.
I haven’t tried Nix.
Sometimes I’m tempted to try my hand at writing my own package manager for macOS, but getting a critical mass of packaged software seems quite hard.
- znpy 5y ago> pkgsrc doesn’t have Apple M1 binary packages available yet. basing this reply on my past experience with pkgsrc (in a netbsd or linux environments though) as long as you can point pkgsrc to a decent compiler and it can complete its bootstrap phase, it'll likely work.
- smoldesu 5y ago+1 for pacman. Homebrew's biggest issue is that it isn't a package manager for MacOS. You can interpret that however you want, but it's versatility is extremely limited compared to "full-fat" package managers like apt and pacman. At the end of the day, all of the MacOS package managers fit together to perform separate stop-gap solutions, where none of them really fell that great to use in the first place. Hell, pacman is so good that it's one of the core reasons I'll probably never end up fully switching my workflow to MacOS.
- 27B28E52 5y agoPacman and friends used to work on macOS (source: I compiled and used them) and maybe they still do, but when it moved to bash 4 while apple is shunning newer versions, it became too much work to build all of the prerequisites.
- eddieh 5y agoNix is probably the slowest and is missing many packages. It's Kool-Aid for the cool kids. MacPorts was good until everyone started using Homebrew. Homebrew has some weird quirks that drive me crazy, but it mostly works and is up to date. I tried pkgsrc and liked it, but a few common packages were weirdly named and it didn't have some Mac specific stuff. Some new package manager that's a mix of pkgsrc, brew, and MacPorts would be awesome. Especially if portable and could somehow also replace nvm, rbenv, pythonenv, and things of that nature.
- pxc 5y ago> Nix is probably the slowest Nix evaluation can be slow sometimes, but installation is generally relatively fast, since everything in Nix is fully parallelizable. It's generally several times faster than apt, for installs that involve multiple large downloads, for example, and historically it's also faster than pacman.[1] (I think this is probably no longer the case with Pacman 6.0, which finally parallelizes downloads. In that case Nix evaluation time probably dominates.) I imagine what you're identifying as slow is searching through Nix packages. On the old/stable release of Nix, you use something like `nix-env -qaP` for this, and that requires evaluation of every package in Nix, and can take a long time. `nix search`, however, is extremely fast on the unstable releases of Nix. A Nix search using the old method is extremely slow, > 7 seconds: I ~ time nix-env -f '<nixpkgs>' -qaP libreoffice libreoffice libreoffice-7.0.4.2 libreoffice-still libreoffice-7.0.4.2 libreoffice-still-unwrapped libreoffice-7.0.4.2 libreoffice-fresh libreoffice-7.1.2.2 libreoffice-fresh-unwrapped libreoffice-7.1.2.2 libreoffice-qt libreoffice-7.1.2.2 ________________________________________________________ Executed in 7.31 secs fish external usr time 6.79 secs 335.00 micros 6.79 secs sys time 0.52 secs 67.00 micros 0.52 secs A Nix search using the new method, which leverages cached evaluation of Nixpkgs, takes about half a second: nix-shell -p nixUnstable --run fish time nix search --experimental-features 'nix-command flakes' nixpkgs libreoffice <snip> * legacyPackages.x86_64-linux.libreoffice (7.0.4.2) Comprehensive, professional-quality productivity suite, a variant of openoffice.org <snip> ________________________________________________________ Executed in 576.30 millis fish external usr time 561.00 millis 252.00 micros 560.75 millis sys time 16.07 millis 55.00 micros 16.01 millis And installation, in either case, is pretty fast. It takes a few second to install, for example, Libreoffice on my system, with the vast majority of the time taken up being the download: time nix-env -f '<nixpkgs>' -iA libreoffice installing 'libreoffice-7.0.4.2' these paths will be fetched (153.59 MiB download, 574.57 MiB unpacked): <snip> copying path '/nix/store/8yq9h91bsbgi62dhvh4xfqxvhq58b5y4-libreoffice-7.0.4.2' from 'https://cache.nixos.org'... building '/nix/store/nhmf4ak414lrzy3387kbsx8brm8hckds-user-environment.drv'... created 68 symlinks in user environment ________________________________________________________ Executed in 21.32 secs fish external usr time 1.34 secs 0.00 micros 1.34 secs sys time 0.43 secs 521.00 micros 0.42 secs (I tried for a bit to get Linuxbrew installed so I could test the same functionality with it, but Homebrew isn't portable enough to work on NixOS, since it hardcodes a ton of command and interpreter paths to files that don't exist on some distros.) — 1: https://michael.stapelberg.ch/posts/2019-08-17-linux-package-managers-are-slow/ https://michael.stapelberg.ch/posts/2019-08-17-linux-package...
- pasc1878 5y agoHow is macports out of date?