Merge lp:~romain-bouqueau-pro/zenbuild/zenbuild into lp:zenbuild

Proposed by Romain Bouqueau
Status: Needs review
Proposed branch: lp:~romain-bouqueau-pro/zenbuild/zenbuild
Merge into: lp:zenbuild
Diff against target: 215 lines (+158/-0)
6 files modified
README (+3/-0)
patches/x265_01_version.diff (+79/-0)
zen-ffmpeg.sh (+2/-0)
zen-libav.sh (+2/-0)
zen-x265.sh (+56/-0)
zenbuild.sh (+16/-0)
To merge this branch: bzr merge lp:~romain-bouqueau-pro/zenbuild/zenbuild
Reviewer Review Type Date Requested Status
Sebastien Alaiwan Pending
Review via email: mp+220287@code.launchpad.net

Description of the change

add x265

To post a comment you must log in.

Unmerged revisions

99. By Romain Bouqueau

automatically changed properties...

98. By Romain Bouqueau

remove iconv and bzlib deps

97. By Romain Bouqueau

README about PATH restrictions

96. By Romain Bouqueau

add x265

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'README'
2--- README 2014-05-08 10:48:49 +0000
3+++ README 2014-05-20 15:12:00 +0000
4@@ -14,3 +14,6 @@
5 The environment variable MAKE is influential, you can achieve parallel builds this way:
6 MAKE='make -j8' ./zenbuild.sh /tmp/myWorkDirectory x86_64-w64-mingw32 libav
7
8+If your environment variable PATH also contains other Unix-like environments such as Cygwin,
9+you may want to restrict the environment PATH this way:
10+PATH='/mingw64/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/opt/bin' ./zenbuild.sh /tmp/myWorkDirectory x86_64-w64-mingw32 libav
11
12=== added file 'patches/x265_01_version.diff'
13--- patches/x265_01_version.diff 1970-01-01 00:00:00 +0000
14+++ patches/x265_01_version.diff 2014-05-20 15:12:00 +0000
15@@ -0,0 +1,79 @@
16+diff -r b35a5d8f012b source/cmake/version.cmake
17+--- a/source/cmake/version.cmake Sun May 18 15:02:27 2014 +0900
18++++ b/source/cmake/version.cmake Tue May 20 14:41:09 2014 +0200
19+@@ -10,75 +10,4 @@
20+ set(X265_LATEST_TAG "0.0")
21+ set(X265_TAG_DISTANCE "0")
22+
23+-if(EXISTS ${CMAKE_SOURCE_DIR}/../.hg_archival.txt)
24+- # read the lines of the archive summary file to extract the version
25+- file(READ ${CMAKE_SOURCE_DIR}/../.hg_archival.txt archive)
26+- STRING(REGEX REPLACE "\n" ";" archive "${archive}")
27+- foreach(f ${archive})
28+- string(FIND "${f}" ": " pos)
29+- string(SUBSTRING "${f}" 0 ${pos} key)
30+- string(SUBSTRING "${f}" ${pos} -1 value)
31+- string(SUBSTRING "${value}" 2 -1 value)
32+- set(hg_${key} ${value})
33+- endforeach()
34+- if(DEFINED hg_tag)
35+- set(X265_VERSION ${hg_tag} CACHE STRING "x265 version string.")
36+- set(X265_LATEST_TAG ${hg_tag})
37+- set(X265_TAG_DISTANCE "0")
38+- elseif(DEFINED hg_node)
39+- string(SUBSTRING "${hg_node}" 0 16 hg_id)
40+- set(X265_VERSION "${hg_latesttag}+${hg_latesttagdistance}-${hg_id}")
41+- endif()
42+-elseif(HG_EXECUTABLE AND EXISTS ${CMAKE_SOURCE_DIR}/../.hg)
43+- execute_process(COMMAND
44+- ${HG_EXECUTABLE} log -r. --template "{latesttag}"
45+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
46+- OUTPUT_VARIABLE X265_LATEST_TAG
47+- ERROR_QUIET
48+- OUTPUT_STRIP_TRAILING_WHITESPACE
49+- )
50+- execute_process(COMMAND
51+- ${HG_EXECUTABLE} log -r. --template "{latesttagdistance}"
52+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
53+- OUTPUT_VARIABLE X265_TAG_DISTANCE
54+- ERROR_QUIET
55+- OUTPUT_STRIP_TRAILING_WHITESPACE
56+- )
57+- execute_process(
58+- COMMAND
59+- ${HG_EXECUTABLE} log -r. --template "{node|short}"
60+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
61+- OUTPUT_VARIABLE HG_REVISION_ID
62+- ERROR_QUIET
63+- OUTPUT_STRIP_TRAILING_WHITESPACE
64+- )
65+-
66+- if(X265_LATEST_TAG MATCHES "^r")
67+- string(SUBSTRING ${X265_LATEST_TAG} 1 -1 X265_LATEST_TAG)
68+- endif()
69+- if(X265_TAG_DISTANCE STREQUAL "0")
70+- set(X265_VERSION "${X265_LATEST_TAG}")
71+- else()
72+- set(X265_VERSION "${X265_LATEST_TAG}+${X265_TAG_DISTANCE}-${HG_REVISION_ID}")
73+- endif()
74+-elseif(GIT_EXECUTABLE AND EXISTS ${CMAKE_SOURCE_DIR}/../.git)
75+- execute_process(
76+- COMMAND
77+- ${GIT_EXECUTABLE} describe --tags --abbrev=0
78+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
79+- OUTPUT_VARIABLE X265_LATEST_TAG
80+- ERROR_QUIET
81+- OUTPUT_STRIP_TRAILING_WHITESPACE
82+- )
83+-
84+- execute_process(
85+- COMMAND
86+- ${GIT_EXECUTABLE} describe --tags
87+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
88+- OUTPUT_VARIABLE X265_VERSION
89+- ERROR_QUIET
90+- OUTPUT_STRIP_TRAILING_WHITESPACE
91+- )
92+-endif()
93+-
94+ message(STATUS "x265 version ${X265_VERSION}")
95
96=== modified file 'zen-ffmpeg.sh'
97--- zen-ffmpeg.sh 2014-05-14 21:22:47 +0000
98+++ zen-ffmpeg.sh 2014-05-20 15:12:00 +0000
99@@ -47,6 +47,8 @@
100 --enable-libx264 \
101 --disable-gnutls \
102 --disable-openssl \
103+ --disable-iconv \
104+ --disable-bzlib \
105 --enable-avresample \
106 --pkg-config=pkg-config \
107 --cross-prefix=$host-
108
109=== modified file 'zen-libav.sh'
110--- zen-libav.sh 2014-05-14 21:22:47 +0000
111+++ zen-libav.sh 2014-05-20 15:12:00 +0000
112@@ -47,6 +47,8 @@
113 --enable-libx264 \
114 --disable-gnutls \
115 --disable-openssl \
116+ --disable-iconv \
117+ --disable-bzlib \
118 --pkg-config=pkg-config \
119 --cross-prefix=$host-
120 $MAKE
121
122=== added file 'zen-x265.sh'
123--- zen-x265.sh 1970-01-01 00:00:00 +0000
124+++ zen-x265.sh 2014-05-20 15:12:00 +0000
125@@ -0,0 +1,56 @@
126+#!/bin/bash
127+
128+# Copyright (C) 2014 - Romain Bouqueau
129+# This program is free software; you can redistribute it and/or
130+# modify it under the terms of the GNU General Public License
131+# as published by the Free Software Foundation; either version 3
132+# of the License, or (at your option) any later version.
133+#
134+# This program is distributed in the hope that it will be useful,
135+# but WITHOUT ANY WARRANTY; without even the implied warranty of
136+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
137+# GNU General Public License for more details.
138+#
139+# You should have received a copy of the GNU General Public License
140+# along with this program; if not, write to the Free Software
141+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
142+
143+
144+function x265_get_deps {
145+ local a=0
146+}
147+
148+function build_x265 {
149+ local host=$1
150+ local crossPrefix=$(get_cross_prefix $BUILD $host)
151+
152+ pushDir $WORK/src
153+ hg clone -r 6879 https://bitbucket.org/multicoreware/x265 x265
154+
155+ pushDir x265/
156+ applyPatch $scriptDir/patches/x265_01_version.diff
157+
158+ mkdir -p build/$host
159+ pushDir build/$host
160+
161+ echo "SET(CMAKE_C_COMPILER $host-gcc)" > config.cmake
162+ echo "SET(CMAKE_CXX_COMPILER $host-g++)" >> config.cmake
163+ echo "SET(CMAKE_RC_COMPILER $host-windres)" >> config.cmake
164+ echo "SET(CMAKE_RANLIB $host-ranlib)" >> config.cmake
165+ echo "SET(CMAKE_ASM_YASM_COMPILER yasm)" >> config.cmake
166+ echo "" >> config.cmake
167+ echo "SET(CMAKE_CXX_FLAGS \"-static-libgcc -static-libstdc++ -static -O3 -s\")" >> config.cmake
168+ echo "SET(CMAKE_C_FLAGS \"-static-libgcc -static-libstdc++ -static -O3 -s\")" >> config.cmake
169+ echo "SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS \"-static-libgcc -static-libstdc++ -static -O3 -s\")" >> config.cmake
170+ echo "SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS \"-static-libgcc -static-libstdc++ -static -O3 -s\")" >> config.cmake
171+ echo "SET(CMAKE_SHARED_LINKER_FLAGS \"-static-libgcc -static-libstdc++ -static -O3 -s\")" >> config.cmake
172+
173+ cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=config.cmake -DCMAKE_INSTALL_PREFIX=$PREFIX/$host ../../source
174+ $MAKE x265-shared
175+ $MAKE install
176+
177+ popDir
178+ popDir
179+ popDir
180+}
181+
182
183=== modified file 'zenbuild.sh' (properties changed: +x to -x)
184--- zenbuild.sh 2014-05-18 08:10:00 +0000
185+++ zenbuild.sh 2014-05-20 15:12:00 +0000
186@@ -408,6 +408,14 @@
187 exit 1
188 fi
189
190+ if isMissing "cmake"; then
191+ echo "make not installed. Please install with:"
192+ echo "pacman -S mingw-cmake"
193+ echo "or"
194+ echo "apt-get install cmake"
195+ exit 1
196+ fi
197+
198 if isMissing "autopoint"; then
199 echo "autopoint not installed. Please install with:"
200 echo "pacman -S gettext gettext-devel"
201@@ -453,6 +461,14 @@
202 echo "apt-get install git"
203 exit 1
204 fi
205+
206+ if isMissing "hg" ; then
207+ echo "git not installed. Please install with:"
208+ echo "pacman -S msys/mercurial"
209+ echo "or"
210+ echo "apt-get install mercurial"
211+ exit 1
212+ fi
213 }
214
215 function get_arch {

Subscribers

People subscribed via source and target branches