From d2df0257435aec0ac60b8618010540fcbf0bb26c Mon Sep 17 00:00:00 2001 From: bipin kumar Date: Tue, 3 Oct 2023 09:09:26 +0530 Subject: [PATCH] snpeff: update to 5.2 --- BioArchLinux/snpeff/PKGBUILD | 27 ++++++++++++++++++++------- BioArchLinux/snpeff/lilac.py | 23 +++++++++++++++++++++++ BioArchLinux/snpeff/lilac.yaml | 2 ++ 3 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 BioArchLinux/snpeff/lilac.py diff --git a/BioArchLinux/snpeff/PKGBUILD b/BioArchLinux/snpeff/PKGBUILD index 20ca51e69c..5b895d18c1 100644 --- a/BioArchLinux/snpeff/PKGBUILD +++ b/BioArchLinux/snpeff/PKGBUILD @@ -3,24 +3,37 @@ pkgname=snpeff _pkgname=SnpEff _pkg2=SnpSift -pkgver=5.1 -pkgrel=3 +pkgver=5.2 +_pkgver2=5.1 +pkgrel=1 pkgdesc="Genetic variant annotation and effect prediction toolbox. doi:10.4161/fly.19695" arch=('any') url="https://pcingola.github.io/SnpEff/" provides=('SnpSift') license=('MIT') depends=('java-runtime>=12' 'python' 'perl' 'antlr4') -makedepends=('maven' 'java-environment>=12') +makedepends=('maven' 'java-environment>=12' 'git') source=("$_pkgname-$pkgver.tar.gz::https://github.com/pcingola/SnpEff/archive/refs/tags/v$pkgver.tar.gz" - "$_pkg2-$pkgver.tar.gz::https://github.com/pcingola/SnpSift/archive/refs/tags/v$pkgver.tar.gz" + "$_pkg2-${_pkgver2}.tar.gz::https://github.com/pcingola/SnpSift/archive/refs/tags/v${_pkgver2}.tar.gz" + "https.patch::https://patch-diff.githubusercontent.com/raw/pcingola/SnpSift/pull/84.patch" "snpSift.sh" "snpEff.sh" ) -sha512sums=('eb12a126f71536eb04132e40b5f3e0bea33b6512dce999a70e5c170d2839d739ea8b52e5b38822e83c544693aec7ece20f13674634ae3971a6f08659dc7b9640' +sha512sums=('df0cdb4ddde60491789494a809e8fb28a7b6c5f1b18c1f639a76828a4d2c19d27d019cb0b2362c5fa8734c21b770377b8eec6e8beb76fda287e4eda016f380e7' '074139695584227d3e523962b81ed1cd1687a146b973ec761e5c42fccf865b6f01bd8fc1280a1f73e7c9ab3292bfc3358d56a572f0795bd05fa879011a4ad950' + 'eb802167761ea7de0b7fdb60b0cc9440d40ea21fe6ed164dc900452e224d71039a8e187e1b7a6499b91338580378c33aa678a23b81f3e27f0f939a4cd3ef6a0c' '9819376173c372cec8ae3f28d1b3857a1b63690bf16213e6f26ebd5d29150616c8f8a3d0ecf8d9ba24c34e24f28ab56edecf8c9cee3c578ae673da7c65c48f0d' '0eb2339b55969cc065b8c15bee06d8728b0576689217777bf24e209409d61210f91e814bb1a5dddc651dd2a3f35d0f3911bd3161d6d3275604ea58cf83f9086a') +prepare() { + # fix pom.xml of SnpSift + cd "${srcdir}/$_pkg2-${_pkgver2}" + # fix http sources for dependencies + patch -p1 < ${srcdir}/https.patch + # set correct snpeff version as dependency + export snpver=$(sed -n '41p' pom.xml | cut -d '>' -f 2 | cut -d '<' -f 1) + sed -i "41s/${snpver}/[${pkgver},)/g" pom.xml +} + build() { # Build SnpEff cd "${srcdir}/$_pkgname-$pkgver" @@ -37,14 +50,14 @@ build() { --quiet # Build SnpSift - cd "${srcdir}/$_pkg2-$pkgver" + cd "${srcdir}/$_pkg2-${_pkgver2}" mvn -e clean compile assembly:single jar:jar } package() { install -Dm644 ${srcdir}/$_pkgname-$pkgver/target/SnpEff-$pkgver-jar-with-dependencies.jar "${pkgdir}"/usr/share/java/snpEff/snpEff.jar - install -Dm644 ${srcdir}/$_pkg2-$pkgver/target/SnpSift-$pkgver-jar-with-dependencies.jar "${pkgdir}"/usr/share/java/snpEff/snpSift.jar + install -Dm644 ${srcdir}/$_pkg2-$_siftver/target/SnpSift-${_pkgver2}-jar-with-dependencies.jar "${pkgdir}"/usr/share/java/snpEff/snpSift.jar install -Dm644 ${srcdir}/$_pkgname-$pkgver/config/snpEff.config "${pkgdir}"/usr/share/java/snpEff/snpEff.config install -Dm644 ${srcdir}/$_pkgname-$pkgver/LICENSE.md "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE install -Dm755 snpEff.sh "${pkgdir}"/usr/bin/snpeff diff --git a/BioArchLinux/snpeff/lilac.py b/BioArchLinux/snpeff/lilac.py new file mode 100644 index 0000000000..4015317b76 --- /dev/null +++ b/BioArchLinux/snpeff/lilac.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +import requests +import fileinput +from lilaclib import * + +def get_latest_tag(owner, repo): + url = f"https://api.github.com/repos/{owner}/{repo}/tags" + response = requests.get(url) + response.raise_for_status() + tags = response.json() + latest_tag = tags[0]["name"].lstrip("v") + return latest_tag + +def pre_build(): + latest_tag = get_latest_tag("pcingola", "SnpSift") + for line in edit_file('PKGBUILD'): + if line.startswith('_pkgver2='): + current_tag = line.split("=")[1].strip() + if latest_tag > current_tag: + line = f'_pkgver2={latest_tag}' + print(line) + + update_pkgver_and_pkgrel(_G.newver.lstrip('v')) \ No newline at end of file diff --git a/BioArchLinux/snpeff/lilac.yaml b/BioArchLinux/snpeff/lilac.yaml index 4765e6598d..3661cfba86 100644 --- a/BioArchLinux/snpeff/lilac.yaml +++ b/BioArchLinux/snpeff/lilac.yaml @@ -2,6 +2,8 @@ maintainers: - github: kbipinkumar email: kbipinkumar@pm.me build_prefix: extra-x86_64 +pre_build_script: | + run_cmd(['updpkgsums']) post_build_script: | git_pkgbuild_commit() update_aur_repo()