mirror of https://github.com/aminya/setup-cpp
fix: fix python, pip, and doxygen on fedora
This commit is contained in:
parent
1103890904
commit
4a49195853
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -14,6 +14,7 @@ import { join } from "path"
|
|||
import { isArch } from "../utils/env/isArch"
|
||||
import { hasDnf } from "../utils/env/hasDnf"
|
||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||
|
||||
/** Get the platform data for cmake */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
|
@ -60,27 +61,27 @@ export async function setupDoxygen(version: string, setupDir: string, arch: stri
|
|||
}
|
||||
case "linux": {
|
||||
let installationInfo: InstallationInfo
|
||||
if (version === "") {
|
||||
if (version === "" || isArch() || hasDnf()) {
|
||||
if (isArch()) {
|
||||
installationInfo = setupPacmanPack("doxygen", undefined)
|
||||
installationInfo = setupPacmanPack("doxygen", version)
|
||||
} else if (hasDnf()) {
|
||||
return setupDnfPack("doxygen", version)
|
||||
} else if (isUbuntu()) {
|
||||
installationInfo = setupAptPack("doxygen", version)
|
||||
} else {
|
||||
throw new Error(`Unsupported linux distributions`)
|
||||
}
|
||||
} else if (isUbuntu()) {
|
||||
try {
|
||||
// doxygen on stable Ubuntu repositories is very old. So, we use get the binary from the website itself
|
||||
installationInfo = await setupBin("doxygen", version, getDoxygenPackageInfo, setupDir, arch)
|
||||
setupAptPack("libclang-cpp9")
|
||||
} catch (err) {
|
||||
notice(`Failed to download doxygen binary. ${err}. Falling back to apt-get.`)
|
||||
installationInfo = setupAptPack("doxygen", undefined)
|
||||
}
|
||||
} else {
|
||||
if (isArch()) {
|
||||
installationInfo = setupPacmanPack("doxygen", version)
|
||||
} else {
|
||||
try {
|
||||
// doxygen on stable Ubuntu repositories is very old. So, we use get the binary from the website itself
|
||||
installationInfo = await setupBin("doxygen", version, getDoxygenPackageInfo, setupDir, arch)
|
||||
setupAptPack("libclang-cpp9")
|
||||
} catch (err) {
|
||||
notice(`Failed to download doxygen binary. ${err}. Falling back to apt-get.`)
|
||||
installationInfo = setupAptPack("doxygen", undefined)
|
||||
}
|
||||
}
|
||||
throw new Error(`Unsupported linux distributions`)
|
||||
}
|
||||
await setupGraphviz(getVersion("graphviz", undefined), "", arch)
|
||||
return installationInfo
|
||||
|
|
|
@ -11,6 +11,7 @@ import { InstallationInfo } from "../utils/setup/setupBin"
|
|||
import { dirname, join } from "path"
|
||||
import { hasDnf } from "../utils/env/hasDnf"
|
||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||
|
||||
export async function setupPython(version: string, setupDir: string, arch: string) {
|
||||
if (!isGitHubCI()) {
|
||||
|
@ -60,9 +61,11 @@ export async function setupPythonViaSystem(
|
|||
setupPacmanPack("python-pip")
|
||||
} else if (hasDnf()) {
|
||||
installInfo = setupDnfPack("python3", version)
|
||||
} else {
|
||||
} else if (isUbuntu()) {
|
||||
installInfo = setupAptPack("python3", version)
|
||||
setupAptPack("python3-pip")
|
||||
} else {
|
||||
throw new Error(`Unsupported linux distributions`)
|
||||
}
|
||||
return installInfo
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import { InstallationInfo } from "./setupBin"
|
|||
import { setupAptPack } from "./setupAptPack"
|
||||
import { setupPacmanPack } from "./setupPacmanPack"
|
||||
import { isArch } from "../env/isArch"
|
||||
import { isUbuntu } from "../env/isUbuntu"
|
||||
|
||||
let python: string | undefined
|
||||
let binDir: string | undefined
|
||||
|
@ -46,7 +47,7 @@ export async function setupPipPack(name: string, version?: string): Promise<Inst
|
|||
// ensure that pip is installed on Linux (happens when python is found but pip not installed)
|
||||
if (isArch()) {
|
||||
setupPacmanPack("python-pip")
|
||||
} else {
|
||||
} else if (isUbuntu()) {
|
||||
setupAptPack("python3-pip")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue