From da3b47756b7f116ee1d5c87533a7dbe123435bae Mon Sep 17 00:00:00 2001 From: s3rj1k Date: Wed, 17 Apr 2024 20:48:54 +0200 Subject: [PATCH] Rejuvenate build using GHA. --- .github/docker/README.md | 15 +++ .../docker/debian/bookworm/amd64/Dockerfile | 79 +++++++++++++ .../docker/debian/bullseye/amd64/Dockerfile | 79 +++++++++++++ .github/workflows/cicd.yml | 64 +++++++++++ {linux/debian => debian}/changelog | 2 +- debian/compat | 1 + debian/control | 25 ++++ {linux/debian => debian}/copyright | 0 debian/rules | 36 ++++++ {linux/debian => debian}/source/format | 0 debian/source/lintian-overrides | 2 + {linux/debian => debian}/v8-6.1_static.pc | 0 linux/.gitignore | 1 - linux/Makefile | 108 ------------------ linux/Makefile.target | 14 --- linux/debian/compat | 1 - linux/debian/control | 37 ------ linux/debian/libv8-dev.install | 3 - linux/debian/libv8.install | 1 - linux/debian/rules | 84 -------------- linux/debian/source/lintian-overrides | 1 - linux/debian/source/options | 2 - linux/debian/v8-6.1.pc | 10 -- linux/stub-gclient-spec => stub-gclient-spec | 0 24 files changed, 302 insertions(+), 263 deletions(-) create mode 100644 .github/docker/README.md create mode 100644 .github/docker/debian/bookworm/amd64/Dockerfile create mode 100644 .github/docker/debian/bullseye/amd64/Dockerfile create mode 100644 .github/workflows/cicd.yml rename {linux/debian => debian}/changelog (69%) create mode 100644 debian/compat create mode 100644 debian/control rename {linux/debian => debian}/copyright (100%) create mode 100755 debian/rules rename {linux/debian => debian}/source/format (100%) create mode 100644 debian/source/lintian-overrides rename {linux/debian => debian}/v8-6.1_static.pc (100%) delete mode 100644 linux/.gitignore delete mode 100644 linux/Makefile delete mode 100644 linux/Makefile.target delete mode 100644 linux/debian/compat delete mode 100644 linux/debian/control delete mode 100644 linux/debian/libv8-dev.install delete mode 100644 linux/debian/libv8.install delete mode 100755 linux/debian/rules delete mode 100644 linux/debian/source/lintian-overrides delete mode 100644 linux/debian/source/options delete mode 100644 linux/debian/v8-6.1.pc rename linux/stub-gclient-spec => stub-gclient-spec (100%) diff --git a/.github/docker/README.md b/.github/docker/README.md new file mode 100644 index 0000000..79993e1 --- /dev/null +++ b/.github/docker/README.md @@ -0,0 +1,15 @@ +### How to build image (Debian Bookworm example). +``` +docker build \ + --build-arg BUILD_NUMBER=69 \ + --file .github/docker/debian/bookworm/amd64/Dockerfile \ + --progress=plain \ + --tag artifacts:latest \ + --ulimit nofile=1024000:1024000 \ + . +``` + +### How to dump artifacts from image to current directory. +``` +docker save artifacts:latest | tar --ignore-command-error --strip-components=2 --to-command='tar -vxf -' -xf - +``` diff --git a/.github/docker/debian/bookworm/amd64/Dockerfile b/.github/docker/debian/bookworm/amd64/Dockerfile new file mode 100644 index 0000000..3723df7 --- /dev/null +++ b/.github/docker/debian/bookworm/amd64/Dockerfile @@ -0,0 +1,79 @@ +FROM --platform=linux/amd64 debian:bookworm AS builder + +ARG BUILD_NUMBER=42 + +SHELL ["/bin/bash", "-c"] + +ENV PYENV_VERSION_TAG=v2.4.0 +ENV PYTHON_VERSION=2.7.18 +ENV V8_GIT_VERSION=6.1.298 +ENV BUILD_DIR=/data/BUILD +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update -y \ + && apt-get install -y \ + build-essential \ + ca-certificates \ + curl \ + devscripts \ + git \ + libbz2-dev \ + libffi-dev \ + libglib2.0-dev \ + liblzma-dev \ + libncurses5 \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + llvm \ + lsb-release \ + make \ + ninja-build \ + tk-dev \ + wget \ + xz-utils \ + zlib1g-dev \ + && apt-get clean \ + && update-ca-certificates --fresh \ + && rm -rf /var/lib/apt/lists/* + +ENV PYENV_ROOT "/opt/pyenv" +ENV PATH "$PYENV_ROOT/shims:$PYENV_ROOT/bin:$BUILD_DIR/depot_tools:$PATH" + +RUN git clone --depth 1 --branch $PYENV_VERSION_TAG https://github.com/pyenv/pyenv.git $PYENV_ROOT \ + && sed -i 's|PATH="/|PATH="$PYENV_ROOT/bin/:/|g' /etc/profile \ + && $PYENV_ROOT/bin/pyenv init - | tee -a /etc/profile \ + && echo "export PATH=\"$BUILD_DIR/depot_tools:${PATH}\"" | tee -a /etc/profile + +RUN pyenv install $PYTHON_VERSION \ + && pyenv global $PYTHON_VERSION + +ENTRYPOINT ["/bin/bash", "-l"] + +WORKDIR $BUILD_DIR + +COPY ./stub-gclient-spec $BUILD_DIR/.gclient + +RUN git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git \ + && gclient sync --verbose -r $V8_GIT_VERSION \ + && cd v8 \ + && gn gen out.gn --args="is_debug=true symbol_level=2 blink_symbol_level=1 v8_symbol_level=1 v8_static_library=true is_component_build=false v8_enable_i18n_support=false v8_use_external_startup_data=false" \ + && gn args out.gn --list | tee out.gn/gn_args.txt \ + && ninja -v d8 -C out.gn + +COPY ./debian $BUILD_DIR/debian + +RUN sed -i -e "s/GIT_VERSION/$V8_GIT_VERSION/g" debian/v8-6.1_static.pc \ + && sed -i -e "s/GIT_VERSION/$V8_GIT_VERSION/g" debian/changelog \ + && sed -i -e "s/DATE/$(env LC_ALL=en_US.utf8 date '+%a, %d %b %Y %H:%M:%S %z')/g" debian/changelog \ + && sed -i -e "s/DISTRO/$(lsb_release -sc | tr -d '\n')/g" debian/changelog \ + && sed -i -e "s/BUILD_NUMBER/$BUILD_NUMBER/g" debian/changelog \ + && debuild -b -us -uc \ + && mkdir ../OUT \ + && mv -v ../*.deb ../OUT/. + +# Artifacts image (mandatory part, the resulting image must have a single filesystem layer) +FROM scratch +COPY --from=builder /data/OUT/ / diff --git a/.github/docker/debian/bullseye/amd64/Dockerfile b/.github/docker/debian/bullseye/amd64/Dockerfile new file mode 100644 index 0000000..391135f --- /dev/null +++ b/.github/docker/debian/bullseye/amd64/Dockerfile @@ -0,0 +1,79 @@ +FROM --platform=linux/amd64 debian:bullseye AS builder + +ARG BUILD_NUMBER=42 + +SHELL ["/bin/bash", "-c"] + +ENV PYENV_VERSION_TAG=v2.4.0 +ENV PYTHON_VERSION=2.7.18 +ENV V8_GIT_VERSION=6.1.298 +ENV BUILD_DIR=/data/BUILD +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update -y \ + && apt-get install -y \ + build-essential \ + ca-certificates \ + curl \ + devscripts \ + git \ + libbz2-dev \ + libffi-dev \ + libglib2.0-dev \ + liblzma-dev \ + libncurses5 \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + llvm \ + lsb-release \ + make \ + ninja-build \ + tk-dev \ + wget \ + xz-utils \ + zlib1g-dev \ + && apt-get clean \ + && update-ca-certificates --fresh \ + && rm -rf /var/lib/apt/lists/* + +ENV PYENV_ROOT "/opt/pyenv" +ENV PATH "$PYENV_ROOT/shims:$PYENV_ROOT/bin:$BUILD_DIR/depot_tools:$PATH" + +RUN git clone --depth 1 --branch $PYENV_VERSION_TAG https://github.com/pyenv/pyenv.git $PYENV_ROOT \ + && sed -i 's|PATH="/|PATH="$PYENV_ROOT/bin/:/|g' /etc/profile \ + && $PYENV_ROOT/bin/pyenv init - | tee -a /etc/profile \ + && echo "export PATH=\"$BUILD_DIR/depot_tools:${PATH}\"" | tee -a /etc/profile + +RUN pyenv install $PYTHON_VERSION \ + && pyenv global $PYTHON_VERSION + +ENTRYPOINT ["/bin/bash", "-l"] + +WORKDIR $BUILD_DIR + +COPY ./stub-gclient-spec $BUILD_DIR/.gclient + +RUN git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git \ + && gclient sync --verbose -r $V8_GIT_VERSION \ + && cd v8 \ + && gn gen out.gn --args="is_debug=true symbol_level=2 blink_symbol_level=1 v8_symbol_level=1 v8_static_library=true is_component_build=false v8_enable_i18n_support=false v8_use_external_startup_data=false" \ + && gn args out.gn --list | tee out.gn/gn_args.txt \ + && ninja -v d8 -C out.gn + +COPY ./debian $BUILD_DIR/debian + +RUN sed -i -e "s/GIT_VERSION/$V8_GIT_VERSION/g" debian/v8-6.1_static.pc \ + && sed -i -e "s/GIT_VERSION/$V8_GIT_VERSION/g" debian/changelog \ + && sed -i -e "s/DATE/$(env LC_ALL=en_US.utf8 date '+%a, %d %b %Y %H:%M:%S %z')/g" debian/changelog \ + && sed -i -e "s/DISTRO/$(lsb_release -sc | tr -d '\n')/g" debian/changelog \ + && sed -i -e "s/BUILD_NUMBER/$BUILD_NUMBER/g" debian/changelog \ + && debuild -b -us -uc \ + && mkdir ../OUT \ + && mv -v ../*.deb ../OUT/. + +# Artifacts image (mandatory part, the resulting image must have a single filesystem layer) +FROM scratch +COPY --from=builder /data/OUT/ / diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml new file mode 100644 index 0000000..fb5dedb --- /dev/null +++ b/.github/workflows/cicd.yml @@ -0,0 +1,64 @@ +name: Build and Distribute + +on: + pull_request: + push: + branches: + - master + paths: + - "**" + workflow_dispatch: + +concurrency: + group: ${{ github.head_ref || github.ref }} + +jobs: + deb: + name: 'DEB' + permissions: + id-token: write + contents: read + uses: signalwire/actions-template/.github/workflows/cicd-docker-build-and-distribute.yml@main + strategy: + # max-parallel: 1 + fail-fast: false + matrix: + os: + - debian + version: + - bookworm + - bullseye + platform: + - name: amd64 + runner: ubuntu-latest + with: + RUNNER: ${{ matrix.platform.runner }} + ARTIFACTS_PATTERN: '.*\.(deb)$' + DOCKERFILE: .github/docker/${{ matrix.os }}/${{ matrix.version }}/${{ matrix.platform.name }}/Dockerfile + MAINTAINER: 'Andrey Volk ' + META_FILE_PATH_PREFIX: /var/www/libv8/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }} + PLATFORM: ${{ matrix.platform.name }} + TARGET_ARTIFACT_NAME: ${{ matrix.os }}-${{ matrix.version }}-${{ matrix.platform.name }}-artifact + UPLOAD_BUILD_ARTIFACTS: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }} + secrets: + GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }} + HOSTNAME: ${{ secrets.HOSTNAME }} + PROXY_URL: ${{ secrets.PROXY_URL }} + USERNAME: ${{ secrets.USERNAME }} + TELEPORT_TOKEN: ${{ secrets.TELEPORT_TOKEN }} + + meta: + name: 'Publish build data to meta-repo' + if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.title, ':upload-artifacts') }} + needs: + - deb + permissions: + id-token: write + contents: read + uses: signalwire/actions-template/.github/workflows/meta-repo-content.yml@main + with: + META_CONTENT: '/var/www/libv8/${{ github.ref_name }}/${{ github.run_id }}-${{ github.run_number }}' + META_REPO: signalwire/bamboo_gha_trigger + META_REPO_BRANCH: trigger/libv8/${{ github.ref_name }} + secrets: + GH_BOT_DEPLOY_TOKEN: ${{ secrets.PAT }} diff --git a/linux/debian/changelog b/debian/changelog similarity index 69% rename from linux/debian/changelog rename to debian/changelog index 318e0f3..0bd0656 100644 --- a/linux/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -PKG_NAME (GIT_VERSION-BUILD_VERSION~DISTRO) DISTRO; urgency=medium +libv8-6.1 (GIT_VERSION-BUILD_NUMBER~DISTRO) DISTRO; urgency=medium * New version based on GIT_VERSION (https://chromium.googlesource.com/v8/v8.git) diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..f67d996 --- /dev/null +++ b/debian/control @@ -0,0 +1,25 @@ +Source: libv8-6.1 +Priority: optional +Maintainer: FreeSWITCH Solutions +Standards-Version: 3.9.6 +Section: libs +Homepage: https://developers.google.com/v8/ + +Package: libv8-6.1 +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: V8 JavaScript engine - runtime library + V8 is a high performance JavaScript engine written in C++. + It is used in the web browser Chromium. + . + This package provides libraries for V8. + +Package: libv8-6.1-dev +Section: libdevel +Architecture: amd64 +Depends: libv8-6.1 (= ${binary:Version}), ${misc:Depends} +Description: V8 JavaScript engine - development files for 6.1.x + V8 is a high performance JavaScript engine written in C++. + It is used in the web browser Chromium. + . + This package provide development headers for V8 6.1.x. diff --git a/linux/debian/copyright b/debian/copyright similarity index 100% rename from linux/debian/copyright rename to debian/copyright diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7d5317f --- /dev/null +++ b/debian/rules @@ -0,0 +1,36 @@ +#!/usr/bin/make -f + +BIN_PACKAGE_NAME := libv8-6.1 +DEV_PACKAGE_NAME := libv8-6.1-dev +V8_INCLUDE_DIR := v8/include +V8_OUT_RELEASE_DIR := v8/out.gn + +%: + dh $@ + +override_dh_update_autotools_config: + # Override dh_update_autotools_config to do nothing + +override_dh_autoreconf: + # Override dh_autoreconf to do nothing + +override_dh_auto_build: + # Override dh_auto_build to do nothing + +override_dh_auto_test: + # Override dh_auto_test to do nothing + +override_dh_strip: + # Override dh_strip to do nothing + +override_dh_install: + dh_install -p$(DEV_PACKAGE_NAME) debian/v8-6.1_static.pc usr/lib/pkgconfig/ + dh_install -p$(DEV_PACKAGE_NAME) $(V8_INCLUDE_DIR)/*.h usr/include/v8-6.1/ + dh_install -p$(DEV_PACKAGE_NAME) $(V8_INCLUDE_DIR)/libplatform/*.h usr/include/v8-6.1/libplatform/ + dh_install -p$(DEV_PACKAGE_NAME) $(V8_OUT_RELEASE_DIR)/gn_args.txt usr/include/v8-6.1/ + + dh_install -p$(BIN_PACKAGE_NAME) $(V8_OUT_RELEASE_DIR)/d8 usr/lib/v8-6.1/ + dh_install -p$(BIN_PACKAGE_NAME) $(V8_OUT_RELEASE_DIR)/obj/*.a usr/lib/v8-6.1/ + dh_install -p$(BIN_PACKAGE_NAME) $(V8_OUT_RELEASE_DIR)/obj/src/inspector/*.a usr/lib/v8-6.1/src/inspector/ + + dh_install diff --git a/linux/debian/source/format b/debian/source/format similarity index 100% rename from linux/debian/source/format rename to debian/source/format diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 0000000..abaf503 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,2 @@ +source: source-is-missing * +libv8-6.1-dev: pkg-config-unavailable-for-cross-compilation [usr/lib/pkgconfig/v8-6.1_static.pc] diff --git a/linux/debian/v8-6.1_static.pc b/debian/v8-6.1_static.pc similarity index 100% rename from linux/debian/v8-6.1_static.pc rename to debian/v8-6.1_static.pc diff --git a/linux/.gitignore b/linux/.gitignore deleted file mode 100644 index a007fea..0000000 --- a/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build/* diff --git a/linux/Makefile b/linux/Makefile deleted file mode 100644 index 01a1e6c..0000000 --- a/linux/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# URL for git clone -GIT_URL=https://chromium.googlesource.com/v8/v8.git - -# Tag name or commit hash for checkout -GIT_VERSION=6.1.298 - -# Short version -SHORT_VERSION=6.1 - -# Package name -NAME=libv8-$(SHORT_VERSION) - -# Package version -VERSION=$(GIT_VERSION) - -# Target distribution -DISTR=$(shell lsb_release -sc) - -# Number of threads -NPROCS:=$(shell grep -c ^processor /proc/cpuinfo) - -# Build version number -BUILD_VERSION=1 - -# Build folder -BUILD_DIR=build - -# Build date -DATE:=$(shell LC_ALL=en_US.utf8 date '+%a, %d %b %Y %H:%M:%S %z') - -DEBUILD=debuild -us -uc -b - -all: _phony - -_phony: - -${BUILD_DIR}/${NAME}_${VERSION}: - \ - mkdir ${BUILD_DIR} || true ; \ - cd ${BUILD_DIR} ; \ - mkdir "${NAME}_${VERSION}" ; \ - cd "${NAME}_${VERSION}" ; \ - cp ./../../stub-gclient-spec .gclient ; \ - cp ./../../Makefile.target Makefile ; \ - git clone --depth=1 https://chromium.googlesource.com/chromium/tools/depot_tools.git ; \ - export PATH=`pwd`/depot_tools:"${PATH}" ; \ - gclient sync -j ${NPROCS} -r ${VERSION} ; \ - cd .. ; \ - tar --exclude='./debian' --exclude .git --exclude '*.pyc' -cf - ${NAME}_${VERSION} | gzip -n9c > ${NAME}_${VERSION}.orig.tar.gz ; \ - -distro: ${BUILD_DIR}/${NAME}_${VERSION} - -clean-tarball: - cd ${BUILD_DIR} ; \ - rm -f ${NAME}_${VERSION}.orig.tar.gz - -tarball: - cd ${BUILD_DIR} ; \ - [ -f ${NAME}_${VERSION}.orig.tar.gz ] || tar --exclude='./debian' --exclude .git --exclude '*.pyc' -cf - ${NAME}_${VERSION} | gzip -n9c > ${NAME}_${VERSION}.orig.tar.gz - -source-build: - $(MAKE) _build DEBUILD="debuild -us -uc -S -sa" - -source-clean: - DEB_MAINTAINER_MODE=1 debuild clean - -build: - $(MAKE) _build DEBUILD="debuild -us -uc -b" - -_build: distro - cd "${BUILD_DIR}/${NAME}_${VERSION}" ; \ - NEW_VER="${VERSION}-${BUILD_VERSION}~${DISTR}"; \ - rm -Rf debian ; cp -r ../../debian . ; \ - sed -i -e "s/GIT_VERSION/${GIT_VERSION}/g" debian/v8-$(SHORT_VERSION).pc ; \ - sed -i -e "s/GIT_VERSION/${GIT_VERSION}/g" debian/v8-$(SHORT_VERSION)_static.pc ; \ - sed -i -e "s/DISTRO/${DISTR}/g" debian/changelog ; \ - sed -i -e "s/BUILD_VERSION/${BUILD_VERSION}/g" debian/changelog ; \ - sed -i -e "s/GIT_VERSION/${GIT_VERSION}/g" debian/changelog ; \ - sed -i -e "s/PKG_NAME/${NAME}/g" debian/changelog ; \ - sed -i -e "s/DATE/${DATE}/g" debian/changelog ; \ - sed -i -e "s/DISTRO/${DISTR}/g" debian/control ; \ - sed -i -e "s/BUILD_VERSION/${BUILD_VERSION}/g" debian/control ; \ - sed -i -e "s/GIT_VERSION/${GIT_VERSION}/g" debian/control ; \ - sed -i -e "s/PKG_NAME/${NAME}/g" debian/control ; \ - sed -i -e "s/DATE/${DATE}/g" debian/control ; \ - for file in debian/*.${DISTR}; do \ - if [ -f $$file ]; then \ - rename -f "s/\.${DISTR}$$//" $$file ; \ - fi ; \ - done ; \ - CUR_NAME=`dpkg-parsechangelog | grep '^Source: ' | awk '{print $$2}'`; \ - CUR_VER=`dpkg-parsechangelog | grep '^Version: ' | awk '{print $$2}'`; \ - if dpkg --compare-versions $$NEW_VER gt $$CUR_VER; then \ - echo "New version. Will update changelog and build source package" ; \ - dch -v $$NEW_VER --package="${NAME}" -D ${DISTR} --force-distribution \ - "New version based on ${GIT_VERSION} (${GIT_URL})" ; \ - DEB_MAINTAINER_MODE=1 debuild clean ; \ - else \ - if dpkg --compare-versions $$NEW_VER ne $$CUR_VER; then \ - echo "ERROR: Cannot rebuild source package, because new version is earlier \ - than the one specified in changelog ($$NEW_VER < $$CUR_VER)" ; \ - exit 1; \ - fi ; \ - echo "Same version, just rebuild source package" ; \ - fi ; \ - ${DEBUILD} -clean: - @rm -Rf ${BUILD_DIR} diff --git a/linux/Makefile.target b/linux/Makefile.target deleted file mode 100644 index 99a0b00..0000000 --- a/linux/Makefile.target +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/make -f - -PHONY += clean - -NPROCS:=$(shell grep -c ^processor /proc/cpuinfo) - -clean: - -x64.release: - cd v8 ; \ -# gn gen out.gn/x64.release --args="is_debug=false is_component_build=true v8_enable_i18n_support=false v8_use_external_startup_data=false" ; \ - gn gen out.gn/x64.release --args="is_debug=true v8_static_library=true is_component_build=false v8_enable_i18n_support=false v8_use_external_startup_data=false" ; \ - gn args out.gn/x64.release --list > out.gn/x64.release/gn_args.txt ; \ - ninja -j $(NPROCS) -v d8 -C out.gn/x64.release ; \ diff --git a/linux/debian/compat b/linux/debian/compat deleted file mode 100644 index ec63514..0000000 --- a/linux/debian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/linux/debian/control b/linux/debian/control deleted file mode 100644 index cee6498..0000000 --- a/linux/debian/control +++ /dev/null @@ -1,37 +0,0 @@ -Source: PKG_NAME -Priority: optional -Maintainer: FreeSWITCH Solutions -Build-Depends: cdbs, git, libglib2.0-dev, python2.7, pkg-config -Standards-Version: 3.9.6 -Section: libs -Homepage: https://developers.google.com/v8/ - -Package: PKG_NAME -Architecture: amd64 -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: V8 JavaScript engine - runtime library - V8 is a high performance JavaScript engine written in C++. - It is used in the web browser Chromium. - . - This package provides libraries for V8. - -Package: PKG_NAME-dev -Section: libdevel -Architecture: amd64 -Depends: PKG_NAME (= ${binary:Version}), ${misc:Depends} -Description: V8 JavaScript engine - development files for GIT_VERSION - V8 is a high performance JavaScript engine written in C++. - It is used in the web browser Chromium. - . - This package provide development headers for V8 GIT_VERSION. - -Package: PKG_NAME-dbg -Priority: extra -Section: debug -Architecture: amd64 -Depends: PKG_NAME (= ${binary:Version}), ${misc:Depends} -Description: V8 JavaScript engine - debugging symbols - V8 is a high performance JavaScript engine written in C++. - It is used in the web browser Chromium. - . - This package provides the debugging symbols for the library. diff --git a/linux/debian/libv8-dev.install b/linux/debian/libv8-dev.install deleted file mode 100644 index 858b9a4..0000000 --- a/linux/debian/libv8-dev.install +++ /dev/null @@ -1,3 +0,0 @@ -debian/tmp/opt_include/libv8-*/include/* usr/include/v8-6.1 -debian/v8-6.1.pc usr/lib/pkgconfig/ -debian/v8-6.1_static.pc usr/lib/pkgconfig/ diff --git a/linux/debian/libv8.install b/linux/debian/libv8.install deleted file mode 100644 index 62cb2de..0000000 --- a/linux/debian/libv8.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/opt_lib/libv8-*/lib/* usr/lib/v8-6.1 diff --git a/linux/debian/rules b/linux/debian/rules deleted file mode 100755 index b1499df..0000000 --- a/linux/debian/rules +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/make -f - -include /usr/share/dpkg/default.mk - -include /usr/share/cdbs/1/rules/upstream-tarball.mk -include /usr/share/cdbs/1/rules/utils.mk -include /usr/share/cdbs/1/class/makefile.mk -include /usr/share/cdbs/1/rules/debhelper.mk - -CLEAN_UPSTREAM_VERSION=$(shell echo $(DEB_UPSTREAM_VERSION) | sed 's/~dfsg\d*$$//') - -# See README.source for details on these. -MAJOR = $(word 1, $(subst .,$(space), $(CLEAN_UPSTREAM_VERSION))) -MINOR = $(word 2, $(subst .,$(space), $(CLEAN_UPSTREAM_VERSION))) -BUILD = $(word 3, $(subst .,$(space), $(CLEAN_UPSTREAM_VERSION))) - -API = $(MAJOR).$(MINOR) -ABI = $(MAJOR).$(MINOR).$(BUILD) - -LIBSTEM = libv8.so - -# Supported archs -ARCHS = amd64 - -# allow parallel builds -DEB_BUILD_PARALLEL=1 - -# suppress checking binary files, to not upset dpkg-source -DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^.+$ -extend-diff-ignore = - -# dpkg-gensymbols(1) - this is not needed since we are not using symbols -# DEB_DH_MAKESHLIBS_ARGS = -- -c4 - -# map HOST ARCH AND OS to v8 options -v8arch := $(or $(v8arch),$(if $(filter i386,$(DEB_HOST_ARCH)),x86)) -v8arch := $(or $(v8arch),$(if $(filter amd64,$(DEB_HOST_ARCH)),x64)) -v8arch := $(or $(v8arch),$(DEB_HOST_ARCH)) - -DEB_MAKE_CLEAN_TARGET = clean -DEB_MAKE_BUILD_TARGET = $(v8arch).release - -outdir = $(CURDIR)/v8/out.gn/$(v8arch).release -v8out = $(outdir)/$(LIBSTEM).$(ABI) -d8out = $(outdir)/d8 - -package = libv8-$(API) -package_main = libv8-$(API) -package_dev = libv8-$(API)-dev - -TMP_LIB_DIR = $(CURDIR)/debian/tmp/opt_lib/$(package)/lib -TMP_INCLUDE_DIR = $(CURDIR)/debian/tmp/opt_include/$(package)/include - -SHELL := /bin/bash -PATH := $(CURDIR)/depot_tools:$(PATH) - -# Setup dynamically named debhelper install file during build -pre-build:: - cp -f debian/libv8.install debian/$(package_main).install - cp -f debian/libv8-dev.install debian/$(package_dev).install -clean:: - rm -f debian/$(package_main).install - rm -f debian/$(package_dev).install - -clean:: - rm -f debian/libv8*.new.abi - rm -f debian/acc_report.html - -common-install-impl:: - mkdir -p $(TMP_LIB_DIR) ; \ - cd $(TMP_LIB_DIR) ; \ - cp $(outdir)/*.so . ; \ - cp $(outdir)/obj/*.a . ; \ - cp $(outdir)/icudtl.dat . ; \ - cp $(outdir)/d8 . ; \ - mkdir -p $(TMP_LIB_DIR)/src/inspector ; \ - cp $(outdir)/obj/src/inspector/*.a ./src/inspector/ ; \ - mkdir -p $(TMP_INCLUDE_DIR) ; \ - cd $(TMP_INCLUDE_DIR) ; \ - cp -R $(CURDIR)/v8/include/*.h . ; \ - cp $(outdir)/gn_args.txt . ; \ - mkdir -p $(TMP_INCLUDE_DIR)/libplatform ; \ - cd $(TMP_INCLUDE_DIR)/libplatform ; \ - cp -R $(CURDIR)/v8/include/libplatform/*.h . ; \ diff --git a/linux/debian/source/lintian-overrides b/linux/debian/source/lintian-overrides deleted file mode 100644 index 072a263..0000000 --- a/linux/debian/source/lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -source: source-is-missing * diff --git a/linux/debian/source/options b/linux/debian/source/options deleted file mode 100644 index 373e186..0000000 --- a/linux/debian/source/options +++ /dev/null @@ -1,2 +0,0 @@ -extend-diff-ignore = ".*\.pyc$" -extend-diff-ignore = "v8/out.gn/.*" diff --git a/linux/debian/v8-6.1.pc b/linux/debian/v8-6.1.pc deleted file mode 100644 index 93e47db..0000000 --- a/linux/debian/v8-6.1.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${prefix}/lib/v8-6.1 -includedir=${prefix}/include/v8-6.1 - -Name: v8-6.1 -Description: V8 JavaScript Engine -Version: GIT_VERSION -Libs: -L${libdir} -lv8 -lv8_libbase -lv8_libplatform -Cflags: -I${includedir} diff --git a/linux/stub-gclient-spec b/stub-gclient-spec similarity index 100% rename from linux/stub-gclient-spec rename to stub-gclient-spec