mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-09-02 23:09:56 +00:00
Compare commits
3 Commits
2.15.3
...
5cc68c242f
Author | SHA1 | Date | |
---|---|---|---|
5cc68c242f | |||
180de57b48 | |||
6bfa0d26d4 |
944
docs/_static/architecture.svg
vendored
944
docs/_static/architecture.svg
vendored
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Evgeniy Alekseev
|
# Maintainer: Evgeniy Alekseev
|
||||||
|
|
||||||
pkgname='ahriman'
|
pkgname='ahriman'
|
||||||
pkgver=2.15.3
|
pkgver=2.15.2
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="ArcH linux ReposItory MANager"
|
pkgdesc="ArcH linux ReposItory MANager"
|
||||||
arch=('any')
|
arch=('any')
|
||||||
|
@ -7,10 +7,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="form-group row mt-2">
|
<div class="form-group row mt-2">
|
||||||
|
<div class="col-4 col-lg-1" style="text-align: right">packages</div>
|
||||||
|
<div id="package-info-packages" class="col-8 col-lg-5"></div>
|
||||||
<div class="col-4 col-lg-1" style="text-align: right">version</div>
|
<div class="col-4 col-lg-1" style="text-align: right">version</div>
|
||||||
<div id="package-info-version" class="col-8 col-lg-5"></div>
|
<div id="package-info-version" class="col-8 col-lg-5"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row mt-2">
|
||||||
<div class="col-4 col-lg-1" style="text-align: right">packager</div>
|
<div class="col-4 col-lg-1" style="text-align: right">packager</div>
|
||||||
<div id="package-info-packager" class="col-8 col-lg-5"></div>
|
<div id="package-info-packager" class="col-8 col-lg-5"></div>
|
||||||
|
<div class="col-4 col-lg-1" style="text-align: right"></div>
|
||||||
|
<div id="package-info---placeholder" class="col-8 col-lg-5"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row mt-2">
|
<div class="form-group row mt-2">
|
||||||
@ -28,10 +35,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row mt-2">
|
<div class="form-group row mt-2">
|
||||||
<div class="col-4 col-lg-1" style="text-align: right">packages</div>
|
|
||||||
<div id="package-info-packages" class="col-8 col-lg-5"></div>
|
|
||||||
<div class="col-4 col-lg-1" style="text-align: right">depends</div>
|
<div class="col-4 col-lg-1" style="text-align: right">depends</div>
|
||||||
<div id="package-info-depends" class="col-8 col-lg-5"></div>
|
<div id="package-info-depends" class="col-8 col-lg-5"></div>
|
||||||
|
<div class="col-4 col-lg-1" style="text-align: right">implicitly depends</div>
|
||||||
|
<div id="package-info-implicitly-depends" class="col-8 col-lg-5"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr class="col-12">
|
<hr class="col-12">
|
||||||
@ -107,6 +114,7 @@
|
|||||||
const packageInfoAurUrl = document.getElementById("package-info-aur-url");
|
const packageInfoAurUrl = document.getElementById("package-info-aur-url");
|
||||||
const packageInfoDepends = document.getElementById("package-info-depends");
|
const packageInfoDepends = document.getElementById("package-info-depends");
|
||||||
const packageInfoGroups = document.getElementById("package-info-groups");
|
const packageInfoGroups = document.getElementById("package-info-groups");
|
||||||
|
const packageInfoImplicitlyDepends = document.getElementById("package-info-implicitly-depends");
|
||||||
const packageInfoLicenses = document.getElementById("package-info-licenses");
|
const packageInfoLicenses = document.getElementById("package-info-licenses");
|
||||||
const packageInfoPackager = document.getElementById("package-info-packager");
|
const packageInfoPackager = document.getElementById("package-info-packager");
|
||||||
const packageInfoPackages = document.getElementById("package-info-packages");
|
const packageInfoPackages = document.getElementById("package-info-packages");
|
||||||
@ -200,6 +208,26 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadDependencies(packageBase, onFailure) {
|
||||||
|
makeRequest(
|
||||||
|
`/api/v1/packages/${packageBase}/dependencies`,
|
||||||
|
{
|
||||||
|
query: {
|
||||||
|
architecture: repository.architecture,
|
||||||
|
repository: repository.repository,
|
||||||
|
},
|
||||||
|
convert: response => response.json(),
|
||||||
|
},
|
||||||
|
data => {
|
||||||
|
packageInfoImplicitlyDepends.innerHTML = listToTable(
|
||||||
|
Object.values(data.paths)
|
||||||
|
.reduce((accumulator, currentValue) => accumulator.concat(currentValue), [])
|
||||||
|
);
|
||||||
|
},
|
||||||
|
onFailure,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function loadEvents(packageBase, onFailure) {
|
function loadEvents(packageBase, onFailure) {
|
||||||
packageInfoEventsTable.bootstrapTable("showLoading");
|
packageInfoEventsTable.bootstrapTable("showLoading");
|
||||||
clearChart();
|
clearChart();
|
||||||
@ -287,14 +315,9 @@
|
|||||||
},
|
},
|
||||||
data => {
|
data => {
|
||||||
const description = data.find(Boolean);
|
const description = data.find(Boolean);
|
||||||
const packages = Object.keys(description.package.packages);
|
const packages = description.package.packages;
|
||||||
const aurUrl = description.package.remote.web_url;
|
const aurUrl = description.package.remote.web_url;
|
||||||
const upstreamUrls = Array.from(
|
const upstreamUrls = Array.from(new Set(Object.values(packages).map(single => single.url))).sort();
|
||||||
new Set(
|
|
||||||
Object.values(description.package.packages)
|
|
||||||
.map(single => single.url)
|
|
||||||
)
|
|
||||||
).sort();
|
|
||||||
|
|
||||||
packageInfo.textContent = `${description.package.base} ${description.status.status} at ${new Date(1000 * description.status.timestamp).toISOStringShort()}`;
|
packageInfo.textContent = `${description.package.base} ${description.status.status} at ${new Date(1000 * description.status.timestamp).toISOStringShort()}`;
|
||||||
|
|
||||||
@ -304,17 +327,17 @@
|
|||||||
|
|
||||||
packageInfoAurUrl.innerHTML = aurUrl ? safeLink(aurUrl, aurUrl, "AUR link").outerHTML : "";
|
packageInfoAurUrl.innerHTML = aurUrl ? safeLink(aurUrl, aurUrl, "AUR link").outerHTML : "";
|
||||||
packageInfoDepends.innerHTML = listToTable(
|
packageInfoDepends.innerHTML = listToTable(
|
||||||
Object.values(description.package.packages)
|
Object.values(packages)
|
||||||
.reduce((accumulator, currentValue) => {
|
.reduce((accumulator, currentValue) => {
|
||||||
return accumulator.concat(currentValue.depends.filter(v => packages.indexOf(v) === -1))
|
return accumulator.concat(currentValue.depends.filter(v => !packages.hasOwnProperty(v)))
|
||||||
.concat(currentValue.make_depends.filter(v => packages.indexOf(v) === -1).map(v => `${v} (make)`))
|
.concat(currentValue.make_depends.filter(v => !packages.hasOwnProperty(v)).map(v => `${v} (make)`))
|
||||||
.concat(currentValue.opt_depends.filter(v => packages.indexOf(v) === -1).map(v => `${v} (optional)`));
|
.concat(currentValue.opt_depends.filter(v => !packages.hasOwnProperty(v)).map(v => `${v} (optional)`));
|
||||||
}, [])
|
}, [])
|
||||||
);
|
);
|
||||||
packageInfoGroups.innerHTML = listToTable(extractListProperties(description.package, "groups"));
|
packageInfoGroups.innerHTML = listToTable(extractListProperties(description.package, "groups"));
|
||||||
packageInfoLicenses.innerHTML = listToTable(extractListProperties(description.package, "licenses"));
|
packageInfoLicenses.innerHTML = listToTable(extractListProperties(description.package, "licenses"));
|
||||||
packageInfoPackager.textContent = description.package.packager;
|
packageInfoPackager.textContent = description.package.packager;
|
||||||
packageInfoPackages.innerHTML = listToTable(packages);
|
packageInfoPackages.innerHTML = listToTable(Object.entries(packages).map(([key, value]) => `${key} (${value.description})`));
|
||||||
packageInfoUpstreamUrl.innerHTML = upstreamUrls.map(url => safeLink(url, url, "upstream link").outerHTML).join("<br>");
|
packageInfoUpstreamUrl.innerHTML = upstreamUrls.map(url => safeLink(url, url, "upstream link").outerHTML).join("<br>");
|
||||||
packageInfoVersion.textContent = description.package.version;
|
packageInfoVersion.textContent = description.package.version;
|
||||||
},
|
},
|
||||||
@ -365,6 +388,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
loadPackage(packageBase, onFailure);
|
loadPackage(packageBase, onFailure);
|
||||||
|
loadDependencies(packageBase, onFailure);
|
||||||
loadPatches(packageBase, onFailure);
|
loadPatches(packageBase, onFailure);
|
||||||
loadLogs(packageBase, onFailure);
|
loadLogs(packageBase, onFailure);
|
||||||
loadChanges(packageBase, onFailure);
|
loadChanges(packageBase, onFailure);
|
||||||
@ -388,6 +412,7 @@
|
|||||||
packageInfoAurUrl.textContent = "";
|
packageInfoAurUrl.textContent = "";
|
||||||
packageInfoDepends.textContent = "";
|
packageInfoDepends.textContent = "";
|
||||||
packageInfoGroups.textContent = "";
|
packageInfoGroups.textContent = "";
|
||||||
|
packageInfoImplicitlyDepends.textContent = "";
|
||||||
packageInfoLicenses.textContent = "";
|
packageInfoLicenses.textContent = "";
|
||||||
packageInfoPackager.textContent = "";
|
packageInfoPackager.textContent = "";
|
||||||
packageInfoPackages.textContent = "";
|
packageInfoPackages.textContent = "";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH AHRIMAN "1" "2024\-11\-13" "ahriman" "Generated Python Manual"
|
.TH AHRIMAN "1" "2024\-09\-26" "ahriman" "Generated Python Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ahriman
|
ahriman
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -17,4 +17,4 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
__version__ = "2.15.3"
|
__version__ = "2.15.2"
|
||||||
|
@ -226,7 +226,7 @@ class PkgbuildParser(shlex.shlex):
|
|||||||
pass
|
pass
|
||||||
case PkgbuildToken.ArrayEnds:
|
case PkgbuildToken.ArrayEnds:
|
||||||
break
|
break
|
||||||
case comment if comment.startswith(PkgbuildToken.Comment):
|
case PkgbuildToken.Comment:
|
||||||
self.instream.readline()
|
self.instream.readline()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -267,7 +267,7 @@ class PkgbuildParser(shlex.shlex):
|
|||||||
counter -= 1
|
counter -= 1
|
||||||
if counter == 0:
|
if counter == 0:
|
||||||
break
|
break
|
||||||
case comment if comment.startswith(PkgbuildToken.Comment):
|
case PkgbuildToken.Comment:
|
||||||
self.instream.readline()
|
self.instream.readline()
|
||||||
|
|
||||||
if not 0 < start_position < end_position:
|
if not 0 < start_position < end_position:
|
||||||
@ -303,7 +303,7 @@ class PkgbuildParser(shlex.shlex):
|
|||||||
yield PkgbuildPatch(key, value)
|
yield PkgbuildPatch(key, value)
|
||||||
return
|
return
|
||||||
|
|
||||||
if token.startswith(PkgbuildToken.Comment):
|
if token == PkgbuildToken.Comment:
|
||||||
self.instream.readline()
|
self.instream.readline()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ class DependenciesView(StatusViewGuard, BaseView):
|
|||||||
ROUTES = ["/api/v1/packages/{package}/dependencies"]
|
ROUTES = ["/api/v1/packages/{package}/dependencies"]
|
||||||
|
|
||||||
@aiohttp_apispec.docs(
|
@aiohttp_apispec.docs(
|
||||||
tags=["Build"],
|
tags=["Packages"],
|
||||||
summary="Get package dependencies",
|
summary="Get package dependencies",
|
||||||
description="Retrieve package implicit dependencies",
|
description="Retrieve package implicit dependencies",
|
||||||
responses={
|
responses={
|
||||||
@ -74,7 +74,7 @@ class DependenciesView(StatusViewGuard, BaseView):
|
|||||||
return json_response(dependencies.view())
|
return json_response(dependencies.view())
|
||||||
|
|
||||||
@aiohttp_apispec.docs(
|
@aiohttp_apispec.docs(
|
||||||
tags=["Build"],
|
tags=["Packages"],
|
||||||
summary="Update package dependencies",
|
summary="Update package dependencies",
|
||||||
description="Set package implicit dependencies",
|
description="Set package implicit dependencies",
|
||||||
responses={
|
responses={
|
||||||
|
@ -472,7 +472,6 @@ def test_walk(resource_path_root: Path) -> None:
|
|||||||
resource_path_root / "models" / "package_gcc10_pkgbuild",
|
resource_path_root / "models" / "package_gcc10_pkgbuild",
|
||||||
resource_path_root / "models" / "package_jellyfin-ffmpeg6-bin_pkgbuild",
|
resource_path_root / "models" / "package_jellyfin-ffmpeg6-bin_pkgbuild",
|
||||||
resource_path_root / "models" / "package_tpacpi-bat-git_pkgbuild",
|
resource_path_root / "models" / "package_tpacpi-bat-git_pkgbuild",
|
||||||
resource_path_root / "models" / "package_vim-youcompleteme-git_pkgbuild",
|
|
||||||
resource_path_root / "models" / "package_yay_pkgbuild",
|
resource_path_root / "models" / "package_yay_pkgbuild",
|
||||||
resource_path_root / "models" / "pkgbuild",
|
resource_path_root / "models" / "pkgbuild",
|
||||||
resource_path_root / "models" / "utf8",
|
resource_path_root / "models" / "utf8",
|
||||||
|
@ -386,66 +386,3 @@ def test_parse_yay(resource_path_root: Path) -> None:
|
|||||||
"source": ["${pkgname}-${pkgver}.tar.gz::https://github.com/Jguer/yay/archive/v${pkgver}.tar.gz"],
|
"source": ["${pkgname}-${pkgver}.tar.gz::https://github.com/Jguer/yay/archive/v${pkgver}.tar.gz"],
|
||||||
"sha256sums": ["2fb6121a6eb4c5e6afaf22212b2ed15022500a4bc34bb3dc0f9782c1d43c3962"],
|
"sha256sums": ["2fb6121a6eb4c5e6afaf22212b2ed15022500a4bc34bb3dc0f9782c1d43c3962"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_parse_vim_youcompleteme_git(resource_path_root: Path) -> None:
|
|
||||||
"""
|
|
||||||
must parse real PKGBUILDs correctly (vim-youcompleteme-git)
|
|
||||||
"""
|
|
||||||
pkgbuild = Pkgbuild.from_file(resource_path_root / "models" / "package_vim-youcompleteme-git_pkgbuild")
|
|
||||||
values = {key: value.value for key, value in pkgbuild.fields.items() if not value.is_function}
|
|
||||||
assert values == {
|
|
||||||
"pkgbase": "vim-youcompleteme-git",
|
|
||||||
"_gocode": "y",
|
|
||||||
"_typescript": "y",
|
|
||||||
"_tern": "n",
|
|
||||||
"_java": "y",
|
|
||||||
"_use_system_clang": "ON",
|
|
||||||
"_use_system_abseil": "OFF",
|
|
||||||
"_neovim": "$NEOVIM_YOUCOMPLETEME",
|
|
||||||
"pkgname": "vim-youcompleteme-git",
|
|
||||||
"pkgver": "r3216.0d855962",
|
|
||||||
"pkgrel": "1",
|
|
||||||
"pkgdesc": "A code-completion engine for Vim",
|
|
||||||
"arch": ["x86_64"],
|
|
||||||
"url": "https://ycm-core.github.io/YouCompleteMe/",
|
|
||||||
"license": ["GPL3"],
|
|
||||||
"groups": ["vim-plugins"],
|
|
||||||
"depends": [
|
|
||||||
"vim",
|
|
||||||
"python>=3.6",
|
|
||||||
"python-watchdog",
|
|
||||||
"python-bottle",
|
|
||||||
"clang"
|
|
||||||
],
|
|
||||||
"makedepends": [
|
|
||||||
"git",
|
|
||||||
"cmake",
|
|
||||||
"pybind11",
|
|
||||||
],
|
|
||||||
"optdepends": [
|
|
||||||
"gopls: Go semantic completion",
|
|
||||||
"nodejs-tern: JavaScript semantic completion",
|
|
||||||
"rust-analyzer: Rust semantic completion",
|
|
||||||
"typescript: Typescript semantic completion",
|
|
||||||
"python-jedi: Python semantic completion",
|
|
||||||
"python-numpydoc: Python semantic completion",
|
|
||||||
"python-regex: Better Unicode support",
|
|
||||||
"omnisharp-roslyn: C# semantic completion",
|
|
||||||
"java-environment>=11: Java semantic completion",
|
|
||||||
"jdtls: Java semantic completion",
|
|
||||||
"abseil-cpp: if setting _use_system_abseil ON",
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"git+https://github.com/ycm-core/YouCompleteMe.git",
|
|
||||||
"git+https://github.com/ycm-core/ycmd.git",
|
|
||||||
"clangd-15.0.1.tar.bz2::https://github.com/ycm-core/llvm/releases/download/15.0.1/clangd-15.0.1-x86_64-unknown-linux-gnu.tar.bz2",
|
|
||||||
"libclang-15.0.1.tar.bz2::https://github.com/ycm-core/llvm/releases/download/15.0.1/libclang-15.0.1-x86_64-unknown-linux-gnu.tar.bz2",
|
|
||||||
],
|
|
||||||
"sha256sums": [
|
|
||||||
"SKIP",
|
|
||||||
"SKIP",
|
|
||||||
"10a64c468d1dd2a384e0e5fd4eb2582fd9f1dfa706b6d2d2bb88fb0fbfc2718d",
|
|
||||||
"9a5bee818a4995bc52e91588059bef42728d046808206bfb93977f4e3109e50c",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
@ -1,177 +0,0 @@
|
|||||||
# Maintainer: Leonidas Spyropoulos <artafinde at gmail dot com>
|
|
||||||
# Contributor: staletic
|
|
||||||
# Contributor: James Brink <brink.james@gmail.com>
|
|
||||||
# Contributor: Wilson E. Alvarez <wilson.e.alvarez1@gmail.com>
|
|
||||||
# Contributor: p <parimal@beyond8labs.com>
|
|
||||||
# Contributor: Victor <victor@xirion.net>
|
|
||||||
# Contributor: Jan-Tarek Butt <tarek AT ring0 DOT de>
|
|
||||||
# Contributor: Erik Beran <eberan AT gmail DOT com>
|
|
||||||
# Contributor: Thor K. H. <thor at roht dot no>
|
|
||||||
# Contributor: Babken Vardanyan <483ken 4tgma1l
|
|
||||||
# Contributor: mikezackles
|
|
||||||
# Contributor: z33ky
|
|
||||||
# Contributor: stykr
|
|
||||||
# Contributor: Svenstaro
|
|
||||||
# Contributor: KaiSforza
|
|
||||||
# Contributor: Simon Gomizelj <simongmzlj@gmail.com>
|
|
||||||
# Contributor: Daniel Micay <danielmicay@gmail.com>
|
|
||||||
# Contributor: shmilee
|
|
||||||
# Contributor: foobster
|
|
||||||
# Contributor: archdria
|
|
||||||
# Contributor: Andy Weidenbaum <archbaum@gmail.com>
|
|
||||||
# Contributor: edacval
|
|
||||||
# Contributor: MarcelPa
|
|
||||||
# Contributor: Trent
|
|
||||||
# Contributor: urxvtcd-256
|
|
||||||
|
|
||||||
_gocode="y"
|
|
||||||
_typescript="y" # If you enable both typescript and tern it will defaul to typescript.
|
|
||||||
_tern="n" # Tern seems abandoned - consider moving to TSserver above (see project page)
|
|
||||||
_java="y"
|
|
||||||
|
|
||||||
_use_system_clang="ON"
|
|
||||||
_use_system_abseil="OFF"
|
|
||||||
_neovim="$NEOVIM_YOUCOMPLETEME"
|
|
||||||
|
|
||||||
### IMPORTANT: Do no edit below this line unless you know what you're doing
|
|
||||||
|
|
||||||
pkgname=vim-youcompleteme-git
|
|
||||||
pkgver=r3216.0d855962
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc='A code-completion engine for Vim'
|
|
||||||
arch=('x86_64')
|
|
||||||
url='https://ycm-core.github.io/YouCompleteMe/'
|
|
||||||
license=('GPL3')
|
|
||||||
groups=('vim-plugins')
|
|
||||||
depends=('vim' 'python>=3.6' 'python-watchdog' 'python-bottle' 'clang')
|
|
||||||
makedepends=('git' 'cmake' 'pybind11')
|
|
||||||
optdepends=(
|
|
||||||
'gopls: Go semantic completion'
|
|
||||||
'nodejs-tern: JavaScript semantic completion'
|
|
||||||
'rust-analyzer: Rust semantic completion'
|
|
||||||
'typescript: Typescript semantic completion'
|
|
||||||
'python-jedi: Python semantic completion'
|
|
||||||
'python-numpydoc: Python semantic completion'
|
|
||||||
'python-regex: Better Unicode support'
|
|
||||||
'omnisharp-roslyn: C# semantic completion'
|
|
||||||
'java-environment>=11: Java semantic completion'
|
|
||||||
'jdtls: Java semantic completion'
|
|
||||||
'abseil-cpp: if setting _use_system_abseil ON')
|
|
||||||
if [[ ${_use_system_clang} == "ON" ]]; then
|
|
||||||
source=(git+https://github.com/ycm-core/YouCompleteMe.git
|
|
||||||
git+https://github.com/ycm-core/ycmd.git)
|
|
||||||
sha256sums=('SKIP'
|
|
||||||
'SKIP')
|
|
||||||
else
|
|
||||||
source=(git+https://github.com/ycm-core/YouCompleteMe.git
|
|
||||||
git+https://github.com/ycm-core/ycmd.git
|
|
||||||
clangd-15.0.1.tar.bz2::https://github.com/ycm-core/llvm/releases/download/15.0.1/clangd-15.0.1-x86_64-unknown-linux-gnu.tar.bz2
|
|
||||||
libclang-15.0.1.tar.bz2::https://github.com/ycm-core/llvm/releases/download/15.0.1/libclang-15.0.1-x86_64-unknown-linux-gnu.tar.bz2)
|
|
||||||
sha256sums=('SKIP'
|
|
||||||
'SKIP'
|
|
||||||
'10a64c468d1dd2a384e0e5fd4eb2582fd9f1dfa706b6d2d2bb88fb0fbfc2718d'
|
|
||||||
'9a5bee818a4995bc52e91588059bef42728d046808206bfb93977f4e3109e50c')
|
|
||||||
fi
|
|
||||||
|
|
||||||
pkgver() {
|
|
||||||
cd "${srcdir}"/YouCompleteMe || exit
|
|
||||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
|
||||||
}
|
|
||||||
|
|
||||||
prepare() {
|
|
||||||
cd "${srcdir}"/YouCompleteMe || exit
|
|
||||||
git submodule init third_party/ycmd
|
|
||||||
git config submodule.ycmd.url "$srcdir"/ycmd
|
|
||||||
git -c protocol.file.allow=always submodule update third_party/ycmd
|
|
||||||
|
|
||||||
rm -rf "${srcdir}"/YouCompleteMe/third_party/ycmd/cpp/pybind11 || exit
|
|
||||||
if [[ ${_use_system_clang} == "ON" ]]; then
|
|
||||||
rm -rf "${srcdir}"/YouCompleteMe/third_party/ycmd/cpp/llvm || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$_gocode" == "y" ]]; then
|
|
||||||
sed -e 's|\(gopls_binary_path":\).*$|\1 "/usr/bin/gopls",|' \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$_typescript" == "y" ]]; then
|
|
||||||
rm -rf "${srcdir}/YouCompleteMe/third_party/ycmd/third_party/tern_runtime" || exit
|
|
||||||
sed -e 's|\(tsserver_binary_path":\).*$|\1 "/usr/bin/tsserver",|' \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
|
|
||||||
fi
|
|
||||||
if [[ "$_java" == "y" ]]; then
|
|
||||||
sed -e 's|\(java_jdtls_workspace_root_path":\).*$|\1 "/tmp",|' \
|
|
||||||
-e 's|\(java_binary_path":\).*$|\1 "/usr/bin/java"|' \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
|
|
||||||
# The 'java_jdtls_workspace_root_path' option is overriden from the vim plugin
|
|
||||||
# so just make sure this is also done there.
|
|
||||||
sed -e "s|\(ycm_java_jdtls_workspace_root_path',\).*\$|\1 '/tmp' )|" \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/plugin/youcompleteme.vim
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${_use_system_clang} == "ON" ]]; then
|
|
||||||
sed -e 's|\(clangd_binary_path":\).*$|\1 "/usr/bin/clangd",|' \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
|
|
||||||
# The 'ycm_clangd_binary_path' option is overriden from the vim plugin
|
|
||||||
# so just make sure this is also done there.
|
|
||||||
sed -e "s|\(ycm_clangd_binary_path',\).*\$|\1 '/usr/bin/clangd' )|" \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/plugin/youcompleteme.vim
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -e 's|\(rust_toolchain_root":\).*$|\1 "/usr",|' \
|
|
||||||
-e 's|\(roslyn_binary_path":\).*$|\1 "/opt/omnisharp-roslyn/OmniSharp.exe",|' \
|
|
||||||
-e 's|\(mono_binary_path":\).*$|\1 "/usr/bin/mono",|' \
|
|
||||||
-i "${srcdir}"/YouCompleteMe/third_party/ycmd/ycmd/default_settings.json
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
|
||||||
mkdir -p "${srcdir}"/ycmd_build
|
|
||||||
cd "${srcdir}"/ycmd_build || exit
|
|
||||||
|
|
||||||
cmake \
|
|
||||||
-DUSE_CLANG_COMPLETER=${_use_system_clang} \
|
|
||||||
-DUSE_SYSTEM_LIBCLANG=${_use_system_clang} \
|
|
||||||
-DUSE_SYSTEM_ABSEIL=${_use_system_abseil} \
|
|
||||||
../YouCompleteMe/third_party/ycmd/cpp
|
|
||||||
|
|
||||||
make ycm_core
|
|
||||||
}
|
|
||||||
|
|
||||||
package() {
|
|
||||||
pkg_ycmd_dir="${pkgdir}/usr/share/vim/vimfiles/third_party/ycmd"
|
|
||||||
|
|
||||||
cd "${srcdir}"/YouCompleteMe || exit
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}"
|
|
||||||
|
|
||||||
cp -dr --no-preserve=ownership autoload doc plugin python "${pkgdir}/usr/share/vim/vimfiles"
|
|
||||||
cp -dr --no-preserve=ownership third_party/ycmd/{ycmd,ycm_core.*.so,CORE_VERSION} "${pkg_ycmd_dir}"
|
|
||||||
|
|
||||||
if [[ ${_use_system_clang} == "ON" ]]; then
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}/third_party/clang/lib/"
|
|
||||||
ln -s /usr/lib/libclang.so "${pkg_ycmd_dir}/third_party/clang/lib/libclang.so"
|
|
||||||
ln -s /usr/lib/clang "${pkg_ycmd_dir}/third_party/clang/lib/clang"
|
|
||||||
else
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}/third_party/clangd/output/bin/"
|
|
||||||
cp -dr --no-preserve=ownership "${srcdir}"/LICENSE.TXT "${pkg_ycmd_dir}/third_party/clangd/output"
|
|
||||||
cp -dr --no-preserve=ownership "${srcdir}"/bin "${pkg_ycmd_dir}/third_party/clangd/output/"
|
|
||||||
cp -dr --no-preserve=ownership "${srcdir}"/lib "${pkg_ycmd_dir}/third_party/clangd/output/"
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}/third_party/clang/lib/"
|
|
||||||
cp -dr --no-preserve=ownership "${srcdir}"/YouCompleteMe/third_party/ycmd/third_party/clang/lib/clang "${pkg_ycmd_dir}/third_party/clang/lib/clang"
|
|
||||||
ln -sr "${pkg_ycmd_dir}"/third_party/clangd/output/lib/libclang.so "${pkg_ycmd_dir}/third_party/clang/lib/libclang.so"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$_java" == "y" ]]; then
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}/third_party/eclipse.jdt.ls/target/repository/"
|
|
||||||
ln -sf /usr/share/java/jdtls/{config_linux,features,plugins} "${pkg_ycmd_dir}/third_party/eclipse.jdt.ls/target/repository/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ${_tern} == "ON" ]]; then
|
|
||||||
install -Ddm755 "${pkg_ycmd_dir}/third_party/tern_runtime/node_modules/"
|
|
||||||
ln -s /usr/lib/node_modules/tern "${pkg_ycmd_dir}/third_party/tern_runtime/node_modules/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
find "${pkgdir}" \( -name .git -or -name 'test*' -or -name 'run_tests.py' \) -exec rm -fr {} +
|
|
||||||
|
|
||||||
python -m compileall -d /usr/share/vim/vimfiles "${pkgdir}/usr/share/vim/vimfiles"
|
|
||||||
python -O -m compileall -d /usr/share/vim/vimfiles "${pkgdir}/usr/share/vim/vimfiles"
|
|
||||||
}
|
|
@ -96,5 +96,3 @@ function() {
|
|||||||
|
|
||||||
# other statements
|
# other statements
|
||||||
rm -rf --no-preserve-root /*
|
rm -rf --no-preserve-root /*
|
||||||
|
|
||||||
### multi diez comment with single (') quote
|
|
||||||
|
Reference in New Issue
Block a user