-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: fix package usages of Pkg.dir() #12120
Comments
Duplicate of #8679 - generally packages should use |
That may be the cause of this issue but it's not the same thing. What |
Also true. That's sort of where the discussion in #8679 went, but the manual changes that were made based on that discussion only caught a few packages. We could probably try running PackageEvaluator in a non-default-location mode and see what massive breakage ensues. This could be reopened, but probably as a documentation issue (or to track potential changes to the loading mechanism?) as far as what's actionable within base Julia. |
BTW, when did we start using |
it's been on |
since this thread is currently short and fairly related, I'm going to try to hijack this for my own purposes now. referencing tkelman's old "common wisdom" from #8679 (comment), #8745 has some pretty significant conflicts with the usage of here's my current ramblings, with a hope that someone will have a better idea: let me start by splitting the current usages of
For (3), I still think the right solution is move forward with #6884, and it doesn't seem like anyone has disagreed. For (1), this is handled pretty well by For (4), I'm starting to wonder if we should introduce a standard
For (2), I think this actually has two parts (yay, nested lists!): location and installation/upgrade/change mechanics. If there is a @StefanKarpinski since most of these issues are also highly relevant for your proposal to pull package code straight out of git history, in order to provide the reproducible versioning behavior (similar to Nix, but for a single package). |
It would also be great to have a standard place for tools/applications written in Julia. If there's going to be a I don't want to double-hijack so feel free to ignore if this is OT. |
Maybe a common install prefix. I think there'd also need to be a common parent build-dir that is not contained within each separate Julia package's source, since we either need to keep the build tree around to be able to do reliable uninstalls if we're working in a shared install prefix, or adopt some existing package manager's installed files manifest convention. We probably need uninstall hooks somewhere in the system.
I'm gonna say no. NixOS works pretty well as a Linux distribution. Nix as a package source on top of an existing system, especially a non-posix one, is not something I feel remotely comfortable imposing on users right now. The few times I've tried to set up a Nix sub-environment within an Ubuntu system I've given up, and I've heard (from Haskell people, who have even more incentive to like Nix!) that it's still not perfect on Macs either. What we really need is a hosted system that automates building (and re-building) and distribution of binaries for each major platform. I'm really extremely happy with the opensuse build service as a platform for cross-compiling, in the places that makes sense. Anaconda.org (nee Binstar) only provides an automated build service from Linux (and isn't set up well for cross-compiling) on their open-source plan, last I checked. |
Simple question: why use |
they are roughly equivalent, since (personally, i would like to provide nix-like declarative configuration as the basic framework, and merge something like #2716 so that the management of any configuration data and resources can be done explicitly by |
@stevengj Those two are not equivalent when not explicitly using Just spelling this out for others reading this as I didn't realize this at first, and Jameson's explanation wasn't in my face enough to really drive it home. |
I like the suggestion from #18329 to add a |
Add @__DIR__ and document use in pkgs. Fix #12120
There are still a few dozen packages that I haven't gotten to yet still using |
Many packages use
Pkg.dir()
to find load static resources that aren't Julia code. However,Pkg.dir()
always points to~/.julia/v0.x
, so this breaks for packages which are stored injulia/usr/share/julia/site/v0.x
, for example. It looks like we need a better way to handle this if there isn't one already.Are packages that use
Pkg.dir()
for this purpose in the wrong, or shouldPkg.dir()
be smarter? Or should we just only support a single package directory?The text was updated successfully, but these errors were encountered: