diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a744f2a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "upstream"] + path = upstream + url = https://github.com/neovim/neovim diff --git a/Dockerfile.builder b/Dockerfile.builder index ae1bd0a..2b18e44 100644 --- a/Dockerfile.builder +++ b/Dockerfile.builder @@ -3,7 +3,10 @@ FROM ubuntu:24.04 RUN apt-get update && \ apt-get install -y dpkg-deb \ - make \ - # other packages to build \ - - + gcc \ + ninja-build \ + gettext \ + cmake \ + curl \ + build-essential \ + git diff --git a/Makefile b/Makefile index 98140fa..1661f26 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,18 @@ -package = mypackage.deb +package = neovim.deb .PHONY: compile compile: - cd upstream && echo compile + cd upstream && make CMAKE_BUILD_TYPE=Release .PHONY: dpkg dpkg: - mkdir -p deb-package/usr/bin/ - cp upstream/bin deb-package/usr/bin/ + mkdir -p deb-package/usr/bin deb-package/usr/lib/x86_64-linux-gnu/nvim deb-package/usr/share/applications deb-package/usr/share/icons/hicolor/128x128/app deb-package/usr/share/nvim + cp upstream/build/bin/nvim deb-package/usr/bin/ + cp upstream/runtime/nvim.desktop deb-package/usr/share/applications/ + cp upstream/runtime/nvim.png deb-package/usr/share/icons/hicolor/128x128/app/ + cp -r upstream/build/lib/nvim/parser deb-package/usr/lib/x86_64-linux-gnu/nvim/ + cp -r upstream/runtime deb-package/usr/share/nvim/ chmod -R o-w deb-package/ sed -i "s|%date%|`date +%Y%m%d`|g" deb-package/DEBIAN/control sed -i "s|%hash%|$(commit_abbrev)|g" deb-package/DEBIAN/control diff --git a/README.md b/README.md index 84455ed..98ddc10 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,14 @@ -# Template for external project package building +# Unofficial dpkg neovim build from main branch -- git submodule add upstream -- Makefile: change package name & compile / dpkg target instructions -- Dockerfile.builder: required deb packages / base image -- deb-package/DEBIAN/control: Package name, depends, conflict & description +hyperextensible Vim-based text editor + +- +- + +All credit to maintainer of neovim! + +This repo provide semi-automatic build of main branch to ubuntu 24.04 (noble) dpkg package: + + + +License file in this repo only apply to build & packaging step files, neovim is licensed as Apache 2.0 license, see upstream project for details. diff --git a/deb-package/DEBIAN/control b/deb-package/DEBIAN/control index 280352a..3b2507b 100644 --- a/deb-package/DEBIAN/control +++ b/deb-package/DEBIAN/control @@ -1,12 +1,13 @@ -Package: mypackage-main +Package: neovim-main Version: 0.0.1~git%date%.%hash%-1 Section: base Priority: optional Architecture: amd64 Maintainer: pips -Homepage: https://example.com -Suggests: suggeted-packages -Depends: depends (>= X.Y.Z), packages (>= X.Y) -Conflicts: package-from-official-repo -Description: Description of mypackage - Auto packaging of mypackage following main dev branch +Homepage: https://forge.e5150.fr/ext/neovim +Depends: libc6 (>= 2.38), libluajit-5.1-2 (>= 2.0.4+dfsg) | libluajit2-5.1-2 (>= 2.1~) +Breaks: neovim-runtime (<< 0.8.0~~) +Replaces: neovim-runtime (<< 0.8.0~~) +Provides: editor, vim +Description: neovim build from main + Auto packaging of neovim following main dev branch diff --git a/upstream b/upstream new file mode 160000 index 0000000..ccf020d --- /dev/null +++ b/upstream @@ -0,0 +1 @@ +Subproject commit ccf020d0f36ab1152448be522901bed11be0db1b