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