mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 00:12:56 +00:00
fetchYarnDeps: fix broken fetching logic for github releases
When a dependency references a github *release* URL, that dependency must be fetched using https rather than git, since github does not require that release tarballs have any relationship whatsoever to the git history. This commit causes them to be fetched using https, not git. A test case (which fails prior to this commit, and passes afterwards) is included.
This commit is contained in:
parent
aefcf1642c
commit
84a75e9488
@ -104,11 +104,14 @@ const downloadPkg = (pkg, verbose) => {
|
||||
const [ url, hash ] = pkg.resolved.split('#')
|
||||
if (verbose) console.log('downloading ' + url)
|
||||
const fileName = urlToName(url)
|
||||
const s = url.split('/')
|
||||
if (url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')) {
|
||||
const s = url.split('/')
|
||||
return downloadGit(fileName, `https://github.com/${s[3]}/${s[4]}.git`, s[s.length-1])
|
||||
} else if (url.startsWith('https://github.com/') && url.endsWith('.tar.gz')) {
|
||||
const s = url.split('/')
|
||||
} else if (url.startsWith('https://github.com/') && url.endsWith('.tar.gz') &&
|
||||
(
|
||||
s.length <= 5 || // https://github.com/owner/repo.tgz#feedface...
|
||||
s[5] == "archive" // https://github.com/owner/repo/archive/refs/tags/v0.220.1.tar.gz
|
||||
)) {
|
||||
return downloadGit(fileName, `https://github.com/${s[3]}/${s[4]}.git`, s[s.length-1].replace(/.tar.gz$/, ''))
|
||||
} else if (isGitUrl(url)) {
|
||||
return downloadGit(fileName, url.replace(/^git\+/, ''), hash)
|
||||
|
@ -17,6 +17,10 @@
|
||||
yarnLock = ./github.lock;
|
||||
sha256 = "sha256-DIKrhDKoqm7tHZmcuh9eK9VTqp6BxeW0zqDUpY4F57A=";
|
||||
};
|
||||
githubReleaseDep = testers.invalidateFetcherByDrvHash fetchYarnDeps {
|
||||
yarnLock = ./github-release.lock;
|
||||
sha256 = "sha256-g+y/H6k8LZ+IjWvkkwV7JhKQH1ycfeqzsIonNv4fDq8=";
|
||||
};
|
||||
gitUrlDep = testers.invalidateFetcherByDrvHash fetchYarnDeps {
|
||||
yarnLock = ./giturl.lock;
|
||||
sha256 = "sha256-VPnyqN6lePQZGXwR7VhbFnP7/0/LB621RZwT1F+KzVQ=";
|
||||
|
@ -0,0 +1,6 @@
|
||||
"libsession_util_nodejs@https://github.com/oxen-io/libsession-util-nodejs/releases/download/v0.3.19/libsession_util_nodejs-v0.3.19.tar.gz":
|
||||
version "0.3.19"
|
||||
resolved "https://github.com/oxen-io/libsession-util-nodejs/releases/download/v0.3.19/libsession_util_nodejs-v0.3.19.tar.gz#221c1fc34fcc18601aea4ce1b733ebfa55af66ea"
|
||||
dependencies:
|
||||
cmake-js "^7.2.1"
|
||||
node-addon-api "^6.1.0"
|
Loading…
Reference in New Issue
Block a user