summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2016-12-04 18:04:51 +0100
committerMartchus2016-12-04 18:05:53 +0100
commit61dacbaa04282f3fdadb80f9fef46acf1ac9616c (patch)
treeb16f04ad2026ce43b40dcb0c8071f4f919b65ed1
parent26d9a134e02ce21fdc784d88155af1140ed4c5a7 (diff)
downloadaur-61dacbaa04282f3fdadb80f9fef46acf1ac9616c.tar.gz
Fix commit ID, fix exports for shader API
-rw-r--r--.SRCINFO24
-rw-r--r--0005-Export-shader-API-via-libGLESv2.dll.patch358
-rw-r--r--0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch2
-rw-r--r--0007-Remove-copy_scripts-target.patch2
-rw-r--r--0008-Fix-generation-of-commit_id.h.patch2
-rw-r--r--0009-Ensure-dependencies-of-samples-are-found.patch2
-rw-r--r--0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch2
-rw-r--r--PKGBUILD75
8 files changed, 392 insertions, 75 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6148575571bb..00e0df56238e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sat Dec 3 01:00:27 UTC 2016
+# Sun Dec 4 17:05:35 UTC 2016
pkgbase = mingw-w64-angleproject
pkgdesc = ANGLE project (mingw-w64)
pkgver = 2.1.r6381.9f09037
- pkgrel = 1
+ pkgrel = 2
url = https://chromium.googlesource.com/angle/angle/+/master/README.md
arch = any
license = BSD
@@ -17,8 +17,7 @@ pkgbase = mingw-w64-angleproject
options = !strip
options = !buildflags
options = staticlibs
- source = angleproject::git+https://chromium.googlesource.com/angle/anglecommit=f097e23
- source = additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git
+ source = angleproject::git+https://chromium.googlesource.com/angle/angle#commit=9f09037
source = additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git#commit=7a8f394
source = 0001-Provide-workaround-for-building-static-libs.patch
source = 0002-Provide-Windows-XP-support.patch
@@ -32,22 +31,25 @@ pkgbase = mingw-w64-angleproject
source = 0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = SKIP
sha256sums = 59bc63ccf6d46db725bac5e259941677586315553cb545c51c2fb339e7c586c6
sha256sums = 595d5f807b69947d55d4b6285b5dc687cc16d15b6a8c56ec79f496001bbd1f2e
sha256sums = 2c5de1623d3ee2a8818063edaea287d1d684785a3443b4f7a2db482c45c59194
sha256sums = d2ed2cf0518fc09b472b17db857d979189b660135347b4c19be8e7352c032ed4
- sha256sums = a214c2bb6a1472843227b27cf6963113e4e42e5051dfa4ba9dbdfd353da887b5
- sha256sums = 34e363820e24df349b5798526bd7040aaf5224086310d92901b71b2e5285cd96
- sha256sums = 8098e5f6999ffb15761a4bea668e14fbe9af9af94c2ec504fd6b6421198a938a
- sha256sums = 9a17c871dfcef1bde47d54a12ba1d3ad88c2349d3bede4b12fa9c9453f0a1129
- sha256sums = 106e5607986669bba430d1b021e180f27c595d31d3ba239cad26583f423eccd2
- sha256sums = 2b195f1238b433fb68564f9c53adfc0d715cc4908c4ab0b9dd5977c88b763620
+ sha256sums = d017726a8953ef409dc614f87b2b99d91725c3d9f1c6bc7d4043301cfb1ce032
+ sha256sums = 8e17fd1b3bfa95c1f8f82a05b3697dfbd26a9c87ba5c3f8e3b5c8dfdccddbaa2
+ sha256sums = 26add1c1ce33db65a102d63926d429e4cc3c61e505a622ef0e1faa0ed1867c40
+ sha256sums = 5239b6bcd38a282adc38a45a7e420752b6f79310553fba19b9a5ae8b70eec31f
+ sha256sums = d665d266cb4d9b00f70d97df6859b455476beed4af5566a5fc0b4d75ddaaf5cc
+ sha256sums = cab5b50139148c882a409ddb38df80019648151beb4735e115e92f2fc5677326
pkgname = mingw-w64-angleproject
depends = mingw-w64-crt
+ provides = mingw-w64-angleproject
+ conflicts = mingw-w64-angleproject
pkgname = mingw-w64-angleproject-samples
pkgdesc = ANGLE project samples (mingw-w64)
depends = mingw-w64-angleproject
+ provides = mingw-w64-angleproject-samples
+ conflicts = mingw-w64-angleproject-samples
diff --git a/0005-Export-shader-API-via-libGLESv2.dll.patch b/0005-Export-shader-API-via-libGLESv2.dll.patch
index ca0775beeb8c..001d74743c66 100644
--- a/0005-Export-shader-API-via-libGLESv2.dll.patch
+++ b/0005-Export-shader-API-via-libGLESv2.dll.patch
@@ -1,58 +1,338 @@
-From 7b0e3346df5a0c8a6b5dd2215a4ecbb659082f5a Mon Sep 17 00:00:00 2001
+From 19579a11cdc6fc9714ebbfa969e77c0a2d1de8f9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 25 Sep 2016 23:07:03 +0200
Subject: [PATCH 05/10] Export shader API via libGLESv2.dll
Required by Qt WebKit
---
- src/compiler/translator/ShaderLang.cpp | 11 +++++++++++
- src/compiler/translator/ShaderVars.cpp | 11 +++++++++++
- 2 files changed, 22 insertions(+)
+ include/GLSLANG/ShaderLang.h | 67 +++++++++++++++++--------------
+ include/GLSLANG/ShaderVars.h | 31 +++++++++-----
+ src/compiler/translator/blocklayout.h | 6 +--
+ src/compiler/translator/blocklayoutHLSL.h | 7 ++--
+ 4 files changed, 64 insertions(+), 47 deletions(-)
-diff --git a/src/compiler/translator/ShaderLang.cpp b/src/compiler/translator/ShaderLang.cpp
-index b776ca5..15918be 100644
---- a/src/compiler/translator/ShaderLang.cpp
-+++ b/src/compiler/translator/ShaderLang.cpp
-@@ -9,6 +9,17 @@
- // as defined in ShaderLang.h
+diff --git a/include/GLSLANG/ShaderLang.h b/include/GLSLANG/ShaderLang.h
+index 8448d06..7aa5281 100644
+--- a/include/GLSLANG/ShaderLang.h
++++ b/include/GLSLANG/ShaderLang.h
+@@ -369,19 +369,19 @@ using ShHandle = void *;
+ // compiler operations.
+ // If the function succeeds, the return value is true, else false.
//
+-bool ShInitialize();
++COMPILER_EXPORT bool ShInitialize();
+ //
+ // Driver should call this at shutdown.
+ // If the function succeeds, the return value is true, else false.
+ //
+-bool ShFinalize();
++COMPILER_EXPORT bool ShFinalize();
-+// ensure this gets exported
-+#ifndef COMPONENT_BUILD
-+#define COMPONENT_BUILD
-+#endif
-+#ifdef ANGLE_TRANSLATOR_STATIC
-+#undef ANGLE_TRANSLATOR_STATIC
-+#endif
-+#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION
-+#define ANGLE_TRANSLATOR_IMPLEMENTATION
-+#endif
-+
- #include "GLSLANG/ShaderLang.h"
+ //
+ // Initialize built-in resources with minimum expected values.
+ // Parameters:
+ // resources: The object to initialize. Will be comparable with memcmp.
+ //
+-void ShInitBuiltInResources(ShBuiltInResources *resources);
++COMPILER_EXPORT void ShInitBuiltInResources(ShBuiltInResources *resources);
- #include "compiler/translator/Compiler.h"
-diff --git a/src/compiler/translator/ShaderVars.cpp b/src/compiler/translator/ShaderVars.cpp
-index 8e217f1..a4d451c 100644
---- a/src/compiler/translator/ShaderVars.cpp
-+++ b/src/compiler/translator/ShaderVars.cpp
-@@ -7,6 +7,17 @@
- // Methods for GL variable types (varyings, uniforms, etc)
//
+ // Returns the a concatenated list of the items in ShBuiltInResources as a
+@@ -389,7 +389,7 @@ void ShInitBuiltInResources(ShBuiltInResources *resources);
+ // This function must be updated whenever ShBuiltInResources is changed.
+ // Parameters:
+ // handle: Specifies the handle of the compiler to be used.
+-const std::string &ShGetBuiltInResourcesString(const ShHandle handle);
++COMPILER_EXPORT const std::string &ShGetBuiltInResourcesString(const ShHandle handle);
-+// ensure this gets exported
-+#ifndef COMPONENT_BUILD
-+#define COMPONENT_BUILD
-+#endif
-+#ifdef ANGLE_TRANSLATOR_STATIC
-+#undef ANGLE_TRANSLATOR_STATIC
+ //
+ // Driver calls these to create and destroy compiler objects.
+@@ -404,11 +404,12 @@ const std::string &ShGetBuiltInResourcesString(const ShHandle handle);
+ // SH_HLSL_3_0_OUTPUT or SH_HLSL_4_1_OUTPUT. Note: Each output type may only
+ // be supported in some configurations.
+ // resources: Specifies the built-in resources.
+-ShHandle ShConstructCompiler(sh::GLenum type,
+- ShShaderSpec spec,
+- ShShaderOutput output,
+- const ShBuiltInResources *resources);
+-void ShDestruct(ShHandle handle);
++COMPILER_EXPORT ShHandle ShConstructCompiler(
++ sh::GLenum type,
++ ShShaderSpec spec,
++ ShShaderOutput output,
++ const ShBuiltInResources *resources);
++COMPILER_EXPORT void ShDestruct(ShHandle handle);
+
+ //
+ // Compiles the given shader source.
+@@ -434,36 +435,38 @@ void ShDestruct(ShHandle handle);
+ // SH_VARIABLES: Extracts attributes, uniforms, and varyings.
+ // Can be queried by calling ShGetVariableInfo().
+ //
+-bool ShCompile(const ShHandle handle,
+- const char *const shaderStrings[],
+- size_t numStrings,
+- ShCompileOptions compileOptions);
++COMPILER_EXPORT bool ShCompile(const ShHandle handle,
++ const char *const shaderStrings[],
++ size_t numStrings,
++ ShCompileOptions compileOptions);
+
+ // Clears the results from the previous compilation.
+-void ShClearResults(const ShHandle handle);
++COMPILER_EXPORT void ShClearResults(const ShHandle handle);
+
+ // Return the version of the shader language.
+-int ShGetShaderVersion(const ShHandle handle);
++COMPILER_EXPORT int ShGetShaderVersion(const ShHandle handle);
+
+ // Return the currently set language output type.
+-ShShaderOutput ShGetShaderOutputType(const ShHandle handle);
++COMPILER_EXPORT ShShaderOutput ShGetShaderOutputType(
++ const ShHandle handle);
+
+ // Returns null-terminated information log for a compiled shader.
+ // Parameters:
+ // handle: Specifies the compiler
+-const std::string &ShGetInfoLog(const ShHandle handle);
++COMPILER_EXPORT const std::string &ShGetInfoLog(const ShHandle handle);
+
+ // Returns null-terminated object code for a compiled shader.
+ // Parameters:
+ // handle: Specifies the compiler
+-const std::string &ShGetObjectCode(const ShHandle handle);
++COMPILER_EXPORT const std::string &ShGetObjectCode(const ShHandle handle);
+
+ // Returns a (original_name, hash) map containing all the user defined
+ // names in the shader, including variable names, function names, struct
+ // names, and struct field names.
+ // Parameters:
+ // handle: Specifies the compiler
+-const std::map<std::string, std::string> *ShGetNameHashingMap(const ShHandle handle);
++COMPILER_EXPORT const std::map<std::string, std::string> *ShGetNameHashingMap(
++ const ShHandle handle);
+
+ // Shader variable inspection.
+ // Returns a pointer to a list of variables of the designated type.
+@@ -471,12 +474,12 @@ const std::map<std::string, std::string> *ShGetNameHashingMap(const ShHandle han
+ // Returns NULL on failure.
+ // Parameters:
+ // handle: Specifies the compiler
+-const std::vector<sh::Uniform> *ShGetUniforms(const ShHandle handle);
+-const std::vector<sh::Varying> *ShGetVaryings(const ShHandle handle);
+-const std::vector<sh::Attribute> *ShGetAttributes(const ShHandle handle);
+-const std::vector<sh::OutputVariable> *ShGetOutputVariables(const ShHandle handle);
+-const std::vector<sh::InterfaceBlock> *ShGetInterfaceBlocks(const ShHandle handle);
+-sh::WorkGroupSize ShGetComputeShaderLocalGroupSize(const ShHandle handle);
++COMPILER_EXPORT const std::vector<sh::Uniform> *ShGetUniforms(const ShHandle handle);
++COMPILER_EXPORT const std::vector<sh::Varying> *ShGetVaryings(const ShHandle handle);
++COMPILER_EXPORT const std::vector<sh::Attribute> *ShGetAttributes(const ShHandle handle);
++COMPILER_EXPORT const std::vector<sh::OutputVariable> *ShGetOutputVariables(const ShHandle handle);
++COMPILER_EXPORT const std::vector<sh::InterfaceBlock> *ShGetInterfaceBlocks(const ShHandle handle);
++COMPILER_EXPORT sh::WorkGroupSize ShGetComputeShaderLocalGroupSize(const ShHandle handle);
+
+ // Returns true if the passed in variables pack in maxVectors following
+ // the packing rules from the GLSL 1.017 spec, Appendix A, section 7.
+@@ -485,8 +488,9 @@ sh::WorkGroupSize ShGetComputeShaderLocalGroupSize(const ShHandle handle);
+ // Parameters:
+ // maxVectors: the available rows of registers.
+ // variables: an array of variables.
+-bool ShCheckVariablesWithinPackingLimits(int maxVectors,
+- const std::vector<sh::ShaderVariable> &variables);
++COMPILER_EXPORT bool ShCheckVariablesWithinPackingLimits(
++ int maxVectors,
++ const std::vector<sh::ShaderVariable> &variables);
+
+ // Gives the compiler-assigned register for an interface block.
+ // The method writes the value to the output variable "indexOut".
+@@ -495,14 +499,15 @@ bool ShCheckVariablesWithinPackingLimits(int maxVectors,
+ // handle: Specifies the compiler
+ // interfaceBlockName: Specifies the interface block
+ // indexOut: output variable that stores the assigned register
+-bool ShGetInterfaceBlockRegister(const ShHandle handle,
+- const std::string &interfaceBlockName,
+- unsigned int *indexOut);
++COMPILER_EXPORT bool ShGetInterfaceBlockRegister(const ShHandle handle,
++ const std::string &interfaceBlockName,
++ unsigned int *indexOut);
+
+ // Gives a map from uniform names to compiler-assigned registers in the default
+ // interface block. Note that the map contains also registers of samplers that
+ // have been extracted from structs.
+-const std::map<std::string, unsigned int> *ShGetUniformRegisterMap(const ShHandle handle);
++COMPILER_EXPORT const std::map<std::string, unsigned int> *ShGetUniformRegisterMap(
++ const ShHandle handle);
+
+ // Temporary duplicate of the scoped APIs, to be removed when we roll ANGLE and fix Chromium.
+ // TODO(jmadill): Consolidate with these APIs once we roll ANGLE.
+diff --git a/include/GLSLANG/ShaderVars.h b/include/GLSLANG/ShaderVars.h
+index aa7bc08..4856273 100644
+--- a/include/GLSLANG/ShaderVars.h
++++ b/include/GLSLANG/ShaderVars.h
+@@ -10,6 +10,17 @@
+ #ifndef GLSLANG_SHADERVARS_H_
+ #define GLSLANG_SHADERVARS_H_
+
++#if !defined(ANGLE_STATIC)
++#if defined(_WIN32) || defined(_WIN64)
++#define COMPILER_EXPORT __declspec(dllexport)
++#else // defined(_WIN32) || defined(_WIN64)
++#define COMPILER_EXPORT __attribute__((visibility("default")))
+#endif
-+#ifndef ANGLE_TRANSLATOR_IMPLEMENTATION
-+#define ANGLE_TRANSLATOR_IMPLEMENTATION
++
++#else
++#define COMPILER_EXPORT
+#endif
+
- #include <GLSLANG/ShaderLang.h>
+ #include <algorithm>
+ #include <string>
+ #include <vector>
+@@ -31,7 +42,7 @@ enum InterpolationType
+ };
+
+ // Validate link & SSO consistency of interpolation qualifiers
+-bool InterpolationTypesMatch(InterpolationType a, InterpolationType b);
++COMPILER_EXPORT bool InterpolationTypesMatch(InterpolationType a, InterpolationType b);
+
+ // Uniform block layout qualifier, see section 4.3.8.3 of the ESSL 3.00.4 spec
+ enum BlockLayoutType
+@@ -45,7 +56,7 @@ enum BlockLayoutType
+ // Note: we must override the copy constructor and assignment operator so we can
+ // work around excessive GCC binary bloating:
+ // See https://code.google.com/p/angleproject/issues/detail?id=697
+-struct ShaderVariable
++struct COMPILER_EXPORT ShaderVariable
+ {
+ ShaderVariable();
+ ShaderVariable(GLenum typeIn, unsigned int arraySizeIn);
+@@ -94,7 +105,7 @@ struct ShaderVariable
+ }
+ };
+
+-struct Uniform : public ShaderVariable
++struct COMPILER_EXPORT Uniform : public ShaderVariable
+ {
+ Uniform();
+ ~Uniform();
+@@ -115,7 +126,7 @@ struct Uniform : public ShaderVariable
+ // An interface variable is a variable which passes data between the GL data structures and the
+ // shader execution: either vertex shader inputs or fragment shader outputs. These variables can
+ // have integer locations to pass back to the GL API.
+-struct InterfaceVariable : public ShaderVariable
++struct COMPILER_EXPORT InterfaceVariable : public ShaderVariable
+ {
+ InterfaceVariable();
+ ~InterfaceVariable();
+@@ -127,7 +138,7 @@ struct InterfaceVariable : public ShaderVariable
+ int location;
+ };
+
+-struct Attribute : public InterfaceVariable
++struct COMPILER_EXPORT Attribute : public InterfaceVariable
+ {
+ Attribute();
+ ~Attribute();
+@@ -137,7 +148,7 @@ struct Attribute : public InterfaceVariable
+ bool operator!=(const Attribute &other) const { return !operator==(other); }
+ };
+
+-struct OutputVariable : public InterfaceVariable
++struct COMPILER_EXPORT OutputVariable : public InterfaceVariable
+ {
+ OutputVariable();
+ ~OutputVariable();
+@@ -147,7 +158,7 @@ struct OutputVariable : public InterfaceVariable
+ bool operator!=(const OutputVariable &other) const { return !operator==(other); }
+ };
+
+-struct InterfaceBlockField : public ShaderVariable
++struct COMPILER_EXPORT InterfaceBlockField : public ShaderVariable
+ {
+ InterfaceBlockField();
+ ~InterfaceBlockField();
+@@ -169,7 +180,7 @@ struct InterfaceBlockField : public ShaderVariable
+ bool isRowMajorLayout;
+ };
+
+-struct Varying : public ShaderVariable
++struct COMPILER_EXPORT Varying : public ShaderVariable
+ {
+ Varying();
+ ~Varying();
+@@ -195,7 +206,7 @@ struct Varying : public ShaderVariable
+ bool isInvariant;
+ };
+
+-struct InterfaceBlock
++struct COMPILER_EXPORT InterfaceBlock
+ {
+ InterfaceBlock();
+ ~InterfaceBlock();
+@@ -218,7 +229,7 @@ struct InterfaceBlock
+ std::vector<InterfaceBlockField> fields;
+ };
+
+-struct WorkGroupSize
++struct COMPILER_EXPORT WorkGroupSize
+ {
+ void fill(int fillValue);
+ void setLocalSize(int localSizeX, int localSizeY, int localSizeZ);
+diff --git a/src/compiler/translator/blocklayout.h b/src/compiler/translator/blocklayout.h
+index 298a72c..dd5fe07 100644
+--- a/src/compiler/translator/blocklayout.h
++++ b/src/compiler/translator/blocklayout.h
+@@ -24,7 +24,7 @@ struct Uniform;
+ struct Varying;
+ struct InterfaceBlock;
+
+-struct BlockMemberInfo
++struct COMPILER_EXPORT BlockMemberInfo
+ {
+ BlockMemberInfo() : offset(-1), arrayStride(-1), matrixStride(-1), isRowMajorMatrix(false) {}
+
+@@ -46,7 +46,7 @@ struct BlockMemberInfo
+ bool isRowMajorMatrix;
+ };
+
+-class BlockLayoutEncoder
++class COMPILER_EXPORT BlockLayoutEncoder
+ {
+ public:
+ BlockLayoutEncoder();
+@@ -77,7 +77,7 @@ class BlockLayoutEncoder
+ // Block layout according to the std140 block layout
+ // See "Standard Uniform Block Layout" in Section 2.11.6 of the OpenGL ES 3.0 specification
+
+-class Std140BlockEncoder : public BlockLayoutEncoder
++class COMPILER_EXPORT Std140BlockEncoder : public BlockLayoutEncoder
+ {
+ public:
+ Std140BlockEncoder();
+diff --git a/src/compiler/translator/blocklayoutHLSL.h b/src/compiler/translator/blocklayoutHLSL.h
+index 8d98847..c61cb1a 100644
+--- a/src/compiler/translator/blocklayoutHLSL.h
++++ b/src/compiler/translator/blocklayoutHLSL.h
+@@ -24,7 +24,7 @@ namespace sh
+ // The strategy should be ENCODE_LOOSE for D3D9 constant blocks, and ENCODE_PACKED
+ // for everything else (D3D10+ constant blocks and all attributes/varyings).
+
+-class HLSLBlockEncoder : public BlockLayoutEncoder
++class COMPILER_EXPORT HLSLBlockEncoder : public BlockLayoutEncoder
+ {
+ public:
+ enum HLSLBlockEncoderStrategy
+@@ -54,8 +54,9 @@ class HLSLBlockEncoder : public BlockLayoutEncoder
+
+ // This method returns the number of used registers for a ShaderVariable. It is dependent on the HLSLBlockEncoder
+ // class to count the number of used registers in a struct (which are individually packed according to the same rules).
+-unsigned int HLSLVariableRegisterCount(const Varying &variable, bool transposeMatrices);
+-unsigned int HLSLVariableRegisterCount(const Uniform &variable, ShShaderOutput outputType);
++COMPILER_EXPORT unsigned int HLSLVariableRegisterCount(const Varying &variable, bool transposeMatrices);
++COMPILER_EXPORT unsigned int HLSLVariableRegisterCount(const Uniform &variable, ShShaderOutput outputType);
++
+ }
- #include "common/debug.h"
+ #endif // COMMON_BLOCKLAYOUTHLSL_H_
--
2.10.2
diff --git a/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch b/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
index 2f8984a8da9b..1dca4691348d 100644
--- a/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
+++ b/0006-Make-GLintptr-and-GLsizeiptr-match-those-from-Qt-5.patch
@@ -1,4 +1,4 @@
-From a870a46b2058f7c966533edd726269a6ddd6ce5a Mon Sep 17 00:00:00 2001
+From b62e8044a6c8b3bcb076641cbd9fae0ee0e7aa31 Mon Sep 17 00:00:00 2001
From: Jose Santiago <jsantiago@haivision.com>
Date: Thu, 3 Nov 2016 09:38:19 -0500
Subject: [PATCH 06/10] Make GLintptr and GLsizeiptr match those from Qt 5
diff --git a/0007-Remove-copy_scripts-target.patch b/0007-Remove-copy_scripts-target.patch
index 2d6bd7369c81..6d6472d771f9 100644
--- a/0007-Remove-copy_scripts-target.patch
+++ b/0007-Remove-copy_scripts-target.patch
@@ -1,4 +1,4 @@
-From 09d3f7afd742870db9e177f43b8962043bd972ff Mon Sep 17 00:00:00 2001
+From 815ed9402c0da91ee607bc61414c77d350f4a009 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 6 Nov 2016 17:57:18 +0100
Subject: [PATCH 07/10] Remove copy_scripts target
diff --git a/0008-Fix-generation-of-commit_id.h.patch b/0008-Fix-generation-of-commit_id.h.patch
index b9b1a86b4ddf..c297320077aa 100644
--- a/0008-Fix-generation-of-commit_id.h.patch
+++ b/0008-Fix-generation-of-commit_id.h.patch
@@ -1,4 +1,4 @@
-From d4a2be49fbffa30f026ae9cbadfda2f882fc9ad9 Mon Sep 17 00:00:00 2001
+From 78917f02abc3501bb4ae0cdad82c22dfb2fbbad5 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 6 Nov 2016 18:46:15 +0100
Subject: [PATCH 08/10] Fix generation of commit_id.h
diff --git a/0009-Ensure-dependencies-of-samples-are-found.patch b/0009-Ensure-dependencies-of-samples-are-found.patch
index 7209f43b201f..2784ef74b025 100644
--- a/0009-Ensure-dependencies-of-samples-are-found.patch
+++ b/0009-Ensure-dependencies-of-samples-are-found.patch
@@ -1,4 +1,4 @@
-From 4c6bc08c7b66806b4284275a25d5ffa3aa72c666 Mon Sep 17 00:00:00 2001
+From c4b523154d5fce693fe9c163f505fcea8d897547 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Dec 2016 23:55:03 +0100
Subject: [PATCH 09/10] Ensure dependencies of samples are found
diff --git a/0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch b/0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch
index b0dbb457e415..7666aca5efd2 100644
--- a/0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch
+++ b/0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch
@@ -1,4 +1,4 @@
-From fafa411904d7f8814298c5b82d107a7aeccf5ed7 Mon Sep 17 00:00:00 2001
+From ae4406a714e49c7884e0e19825af3b33aa6f6910 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Dec 2016 23:58:32 +0100
Subject: [PATCH 10/10] Win32_system_utils.cpp: Make implicit cast explicit
diff --git a/PKGBUILD b/PKGBUILD
index 636cbaa73e3a..ec74715b130b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,19 +7,31 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
-pkgname=(mingw-w64-angleproject{,-samples})
+# Patches are managed under https://github.com/Martchus/angle/tree/mingw-w64
+
+_latest_git=
+
pkgver=2.1.r6381.9f09037
-pkgrel=1
-pkgdesc='ANGLE project (mingw-w64)'
+if [[ $_latest_git ]]; then
+ pkgname=(mingw-w64-angleproject{,-samples}-git)
+ pkgdesc='ANGLE project (mingw-w64, git version)'
+ _angle_commit=
+ _header_commit=
+else
+ pkgname=(mingw-w64-angleproject{,-samples})
+ pkgdesc='ANGLE project (mingw-w64)'
+ _angle_commit="#commit=${pkgver##*.}"
+ _header_commit='#commit=7a8f394'
+fi
+pkgrel=2
arch=('any')
url='https://chromium.googlesource.com/angle/angle/+/master/README.md'
license=('BSD')
depends=('mingw-w64-crt')
makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'depot-tools-git' 'python' 'python2')
options=('!strip' '!buildflags' 'staticlibs')
-source=('angleproject::git+https://chromium.googlesource.com/angle/anglecommit=f097e23'
- 'additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git'
- 'additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git#commit=7a8f394'
+source=("angleproject::git+https://chromium.googlesource.com/angle/angle$_angle_commit"
+ "additional-mingw-header::git+https://github.com/Martchus/additional-mingw-header.git$_header_commit"
'0001-Provide-workaround-for-building-static-libs.patch'
'0002-Provide-Windows-XP-support.patch'
'0003-Fix-dynamic-libraries.patch'
@@ -32,24 +44,25 @@ source=('angleproject::git+https://chromium.googlesource.com/angle/anglecommit=f
'0010-Win32_system_utils.cpp-Make-implicit-cast-explicit.patch')
sha256sums=('SKIP'
'SKIP'
- 'SKIP'
'59bc63ccf6d46db725bac5e259941677586315553cb545c51c2fb339e7c586c6'
'595d5f807b69947d55d4b6285b5dc687cc16d15b6a8c56ec79f496001bbd1f2e'
'2c5de1623d3ee2a8818063edaea287d1d684785a3443b4f7a2db482c45c59194'
'd2ed2cf0518fc09b472b17db857d979189b660135347b4c19be8e7352c032ed4'
- 'a214c2bb6a1472843227b27cf6963113e4e42e5051dfa4ba9dbdfd353da887b5'
- '34e363820e24df349b5798526bd7040aaf5224086310d92901b71b2e5285cd96'
- '8098e5f6999ffb15761a4bea668e14fbe9af9af94c2ec504fd6b6421198a938a'
- '9a17c871dfcef1bde47d54a12ba1d3ad88c2349d3bede4b12fa9c9453f0a1129'
- '106e5607986669bba430d1b021e180f27c595d31d3ba239cad26583f423eccd2'
- '2b195f1238b433fb68564f9c53adfc0d715cc4908c4ab0b9dd5977c88b763620')
+ 'd017726a8953ef409dc614f87b2b99d91725c3d9f1c6bc7d4043301cfb1ce032'
+ '8e17fd1b3bfa95c1f8f82a05b3697dfbd26a9c87ba5c3f8e3b5c8dfdccddbaa2'
+ '26add1c1ce33db65a102d63926d429e4cc3c61e505a622ef0e1faa0ed1867c40'
+ '5239b6bcd38a282adc38a45a7e420752b6f79310553fba19b9a5ae8b70eec31f'
+ 'd665d266cb4d9b00f70d97df6859b455476beed4af5566a5fc0b4d75ddaaf5cc'
+ 'cab5b50139148c882a409ddb38df80019648151beb4735e115e92f2fc5677326')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
-#pkgver() {
-# cd "$srcdir/angleproject"
-# grep -E "^#define ANGLE_M..OR_VERSION [0-9]+$" src/common/version.h | sed 's/#define ANGLE_M..OR_VERSION //' | tr '\n' '.'
-# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
-#}
+if [[ $_latest_git ]]; then
+ pkgver() {
+ cd "$srcdir/angleproject"
+ grep -E "^#define ANGLE_M..OR_VERSION [0-9]+$" src/common/version.h | sed 's/#define ANGLE_M..OR_VERSION //' | tr '\n' '.'
+ printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ }
+fi
prepare() {
cd "${srcdir}/angleproject"
@@ -137,6 +150,10 @@ build() {
package_mingw-w64-angleproject() {
depends=('mingw-w64-crt')
+ if [[ $_latest_git ]]; then
+ provides=('mingw-w64-angleproject')
+ conflicts=('mingw-w64-angleproject')
+ fi
for _arch in ${_architectures}; do
mkdir -p "${pkgdir}/usr/${_arch}/"{bin,lib,include}
@@ -150,6 +167,9 @@ package_mingw-w64-angleproject() {
lib/libEGL.so \
"${pkgdir}/usr/${_arch}/bin/libEGL.dll"
install \
+ lib/libangle_util.so \
+ "${pkgdir}/usr/${_arch}/bin/libangle_util.dll"
+ install \
libGLESv2.dll.a \
libEGL.dll.a \
src/lib*.a \
@@ -170,8 +190,15 @@ package_mingw-w64-angleproject() {
}
package_mingw-w64-angleproject-samples() {
- pkgdesc='ANGLE project samples (mingw-w64)'
- depends=('mingw-w64-angleproject')
+ if [[ $_latest_git ]]; then
+ pkgdesc='ANGLE project samples (mingw-w64, git version)'
+ depends=('mingw-w64-angleproject-git')
+ provides=('mingw-w64-angleproject-samples')
+ conflicts=('mingw-w64-angleproject-samples')
+ else
+ pkgdesc='ANGLE project samples (mingw-w64)'
+ depends=('mingw-w64-angleproject')
+ fi
for _arch in ${_architectures}; do
mkdir -p "${pkgdir}/usr/${_arch}/"{bin,share/angleproject}
@@ -189,3 +216,11 @@ package_mingw-w64-angleproject-samples() {
done
}
+if [[ $_latest_git ]]; then
+ package_mingw-w64-angleproject-git() {
+ package_mingw-w64-angleproject
+ }
+ package_mingw-w64-angleproject-samples-git() {
+ package_mingw-w64-angleproject-samples
+ }
+fi