Import Debian changes 0.0~git20221212.5e19d2f-ok1
generate-ninja (0.0~git20221212.5e19d2f-ok1) yangtze; urgency=medium * Build for openKylin.
This commit is contained in:
parent
d816a8e1ea
commit
43e65d4a6b
|
@ -0,0 +1,5 @@
|
||||||
|
generate-ninja (0.0~git20221212.5e19d2f-ok1) yangtze; urgency=medium
|
||||||
|
|
||||||
|
* Build for openKylin.
|
||||||
|
|
||||||
|
-- zhouganqing <zhouganqing@kylinos.cn> Mon, 13 Feb 2023 14:45:10 +0800
|
|
@ -0,0 +1,25 @@
|
||||||
|
Source: generate-ninja
|
||||||
|
Section: utils
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: OpenKylin Developers <packaging@lists.openkylin.top>
|
||||||
|
Build-Depends: clang [linux-any],
|
||||||
|
debhelper-compat (= 13),
|
||||||
|
git,
|
||||||
|
help2man,
|
||||||
|
ninja-build,
|
||||||
|
python3
|
||||||
|
Standards-Version: 4.6.2
|
||||||
|
Homepage: https://gn.googlesource.com/gn/
|
||||||
|
Vcs-Browser: https://gitee.com/openkylin/generate-ninja
|
||||||
|
Vcs-Git: https://gitee.com/openkylin/generate-ninja.git
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
|
Package: generate-ninja
|
||||||
|
Architecture: amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel ppc64 ppc64el riscv64 s390x
|
||||||
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
|
Provides: gn
|
||||||
|
Description: meta-build system for ninja
|
||||||
|
Generate-Ninja, or GN, is a meta-build system that generates Ninja
|
||||||
|
build files so that you can build your project with Ninja. GN was,
|
||||||
|
originally, part of the Chromium source tree, and has since been
|
||||||
|
extracted into its own standalone repo.
|
|
@ -0,0 +1,96 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: gn
|
||||||
|
Upstream-Contact: gn-dev@googlegroups.com
|
||||||
|
Source: https://gn.googlesource.com/gn
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2013-2020 Google Inc
|
||||||
|
2013-2020 scottmg@chromium.org
|
||||||
|
2013-2020 brettw@chromium.org
|
||||||
|
2013-2020 phosek@chromium.org
|
||||||
|
License: BSD-3-Clause
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 2020-2023 qinxialei <xialeiqin@gmail.com>
|
||||||
|
2013-2020 Ricardo Ribalda Delgado <ricardo@ribalda.com>
|
||||||
|
License: BSD-3-Clause
|
||||||
|
|
||||||
|
Files: infra/recipes.py
|
||||||
|
Copyright: Copyright 2017 The LUCI Authors.
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
Files: infra/recipes/gn.py
|
||||||
|
Copyright: Copyright 2018 The Chromium Authors.
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
Files: src/util/test/gn_test.cc
|
||||||
|
Copyright: Copyright 2017 The LUCI Authors.
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
Files: src/base/third_party/icu/*
|
||||||
|
Copyright: Copyright 1999-2015 International Business Machines
|
||||||
|
License: ICU
|
||||||
|
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the University nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
License: ICU
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
||||||
|
copies of the Software, and to permit persons
|
||||||
|
to whom the Software is furnished to do so, provided that the above
|
||||||
|
copyright notice(s) and this permission notice appear in all copies
|
||||||
|
of the Software and that both the above copyright notice(s) and this
|
||||||
|
permission notice appear in supporting documentation.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL
|
||||||
|
THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM,
|
||||||
|
OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
|
||||||
|
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
|
||||||
|
USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.
|
||||||
|
Except as contained in this notice, the name of a copyright holder shall not be
|
||||||
|
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||||
|
this Software without prior written authorization of the copyright holder.
|
||||||
|
|
||||||
|
License: Apache-2.0
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||||
|
this file except in compliance with the License. You may obtain a copy of the
|
||||||
|
License at
|
||||||
|
.
|
||||||
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
.
|
||||||
|
Unless required by applicable law or agreed to in writing, software distributed
|
||||||
|
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations under the License.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the Apache License, Version 2.0, can be
|
||||||
|
found in "/usr/share/common-licenses/Apache-2.0".
|
|
@ -0,0 +1,2 @@
|
||||||
|
examples/simple_build/*
|
||||||
|
examples/simple_build/.gn
|
|
@ -0,0 +1 @@
|
||||||
|
out/gn /usr/bin
|
|
@ -0,0 +1 @@
|
||||||
|
out/gn.1
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if git rev-parse --git-dir &>/dev/null ; then
|
||||||
|
git fetch --tags &>/dev/null || true
|
||||||
|
upstream_tag=$(dpkg-parsechangelog --show-field Version | sed 's#-.*##' | tr '~' '_')
|
||||||
|
git describe upstream/${upstream_tag} --abbrev=12 --match initial-commit
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $DEB_VERSION_UPSTREAM | sed 's#^.*\.#initial-commit-1000-g#'
|
|
@ -0,0 +1,14 @@
|
||||||
|
Unbundling version from git
|
||||||
|
diff --git a/build/gen.py b/build/gen.py
|
||||||
|
index fa23266c..794b4357 100755
|
||||||
|
--- a/build/gen.py
|
||||||
|
+++ b/build/gen.py
|
||||||
|
@@ -218,7 +218,7 @@ def main(argv):
|
||||||
|
def GenerateLastCommitPosition(host, header):
|
||||||
|
ROOT_TAG = 'initial-commit'
|
||||||
|
describe_output = subprocess.check_output(
|
||||||
|
- ['git', 'describe', 'HEAD', '--abbrev=12', '--match', ROOT_TAG],
|
||||||
|
+ ['debian/gn-describe'],
|
||||||
|
shell=host.is_windows(), cwd=REPO_ROOT)
|
||||||
|
mo = re.match(ROOT_TAG + '-(\d+)-g([0-9a-f]+)', describe_output.decode())
|
||||||
|
if not mo:
|
|
@ -0,0 +1 @@
|
||||||
|
Unbundling-version-from-git.patch
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
include /usr/share/dpkg/buildflags.mk
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
CXXFLAGS += $(CPPFLAGS) -fPIE
|
||||||
|
LDFLAGS += -pie
|
||||||
|
|
||||||
|
include /usr/share/dpkg/architecture.mk
|
||||||
|
ifeq "$(DEB_HOST_ARCH)" "armel"
|
||||||
|
LDFLAGS += -latomic
|
||||||
|
endif
|
||||||
|
|
||||||
|
#Needed by gn-describe when building outside git tree
|
||||||
|
include /usr/share/dpkg/pkg-info.mk
|
||||||
|
export DEB_VERSION_UPSTREAM
|
||||||
|
|
||||||
|
#Fallback to c++ if clang is not available
|
||||||
|
ifeq (, $(shell which clang++))
|
||||||
|
export CXX = c++
|
||||||
|
endif
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --buildsystem=ninja --builddirectory=out
|
||||||
|
|
||||||
|
override_dh_auto_configure:
|
||||||
|
python3 $(CURDIR)/build/gen.py
|
||||||
|
|
||||||
|
override_dh_auto_test:
|
||||||
|
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||||
|
$(CURDIR)/out/gn_unittests
|
||||||
|
endif
|
||||||
|
|
||||||
|
override_dh_auto_install:
|
||||||
|
#noop
|
||||||
|
|
||||||
|
override_dh_dwz:
|
||||||
|
#Clang-14 does not seem to play nice with dwz #1016563
|
||||||
|
|
||||||
|
VERSION = $(shell out/gn --version)
|
||||||
|
execute_before_dh_installdocs:
|
||||||
|
help2man --version-string="gn $(VERSION)" --name="Meta-build system that generates build files for Ninja" -N -o out/gn.1 out/gn
|
|
@ -0,0 +1 @@
|
||||||
|
3.0 (quilt)
|
|
@ -0,0 +1,2 @@
|
||||||
|
Tests: upstream-test-suite
|
||||||
|
Depends: g++, generate-ninja, ninja-build
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd examples/simple_build
|
||||||
|
gn gen /tmp/out
|
||||||
|
cd /tmp/out
|
||||||
|
ninja
|
||||||
|
./hello
|
|
@ -0,0 +1,4 @@
|
||||||
|
version=4
|
||||||
|
opts="mode=git, pgpmode=none, pretty=0.0~git%cd.%h, repack, compression=xz" \
|
||||||
|
https://gn.googlesource.com/gn \
|
||||||
|
HEAD
|
Loading…
Reference in New Issue