app-i18n/mozc: Disable check for jsoncpp.pc with USE="-test".
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Thu, 5 Oct 2017 18:24:51 +0000 (20:24 +0200)
committerMike Gilbert <floppym@gentoo.org>
Thu, 5 Oct 2017 18:57:10 +0000 (14:57 -0400)
Bug: https://bugs.gentoo.org/633458

app-i18n/mozc/files/mozc-2.20.2673.102-system_libraries.patch
app-i18n/mozc/mozc-2.20.2673.102.ebuild
app-i18n/mozc/mozc-9999.ebuild

index dd6e57717d15785613a0cc92bea899f69f718972..2b2828b79997262c32c8bba747c9310b1b8dfeb6 100644 (file)
@@ -1,12 +1,26 @@
+--- /src/gyp/defines.gypi
++++ /src/gyp/defines.gypi
+@@ -71,6 +71,12 @@
+     # use_libibus represents if ibus library is used or not.
+     # This option is only for Linux.
+     'use_libibus%': '0',
++
++    # use_libgtest represents if gtest library is used or not.
++    'use_libgtest%': '0',
++
++    # use_libjsoncpp represents if jsoncpp library is used or not.
++    'use_libjsoncpp%': '0',
+   },
+   'target_defaults': {
+     'defines': [
 --- /src/net/jsoncpp.gyp
 +++ /src/net/jsoncpp.gyp
-@@ -31,31 +31,25 @@
+@@ -31,32 +31,57 @@
    'targets': [
      {
        'target_name': 'jsoncpp',
 -      'type': 'static_library',
-+      'type': 'none',
-       'variables': {
+-      'variables': {
 -        'jsoncpp_root': '<(third_party_dir)/jsoncpp',
 -        'jsoncpp_srcs': [
 -          '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
 -          '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
 -        ],
 -        'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
-         'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
-       },
+-        'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
+-      },
 -      'defines': [
 -        '<@(jsoncpp_additional_macros)',
--      ],
++      'conditions': [
++        ['use_libjsoncpp==1', {
++          'type': 'none',
++          'variables': {
++            'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
++          },
++          'all_dependent_settings': {
++            'defines': [
++              '<@(jsoncpp_additional_macros)',
++            ],
++            'cflags': [
++              '<!@(pkg-config --cflags jsoncpp)',
++            ],
++            'link_settings': {
++              'libraries': [
++                '<!@(pkg-config --libs-only-l jsoncpp)',
++              ],
++              'ldflags': [
++                '<!@(pkg-config --libs-only-L jsoncpp)',
++              ],
++            }
++          },
++        }, {
++          'type': 'static_library',
++          'variables': {
++            'jsoncpp_root': '<(third_party_dir)/jsoncpp',
++            'jsoncpp_srcs': [
++              '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
++              '<(jsoncpp_root)/src/lib_json/json_value.cpp',
++              '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
++            ],
++            'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
++            'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
++          },
++          'defines': [
++            '<@(jsoncpp_additional_macros)',
++          ],
++          'sources': [
++            '<@(jsoncpp_srcs)',
++            'jsoncpp.h',
++          ],
++          'include_dirs': [
++            '<@(jsoncpp_include_dirs)',
++          ],
++          'all_dependent_settings': {
++            'defines': [
++              '<@(jsoncpp_additional_macros)',
++            ],
++          },
++        }],
+       ],
 -      'sources': [
 -        '<@(jsoncpp_srcs)',
 -        'jsoncpp.h',
 -      'include_dirs': [
 -        '<@(jsoncpp_include_dirs)',
 -      ],
-       'all_dependent_settings': {
-         'defines': [
-           '<@(jsoncpp_additional_macros)',
-         ],
-+        'cflags': [
-+          '<!@(pkg-config --cflags jsoncpp)',
-+        ],
-+        'link_settings': {
-+          'libraries': [
-+            '<!@(pkg-config --libs-only-l jsoncpp)',
-+          ],
-+          'ldflags': [
-+            '<!@(pkg-config --libs-only-L jsoncpp)',
-+          ],
-+        }
-       },
+-      'all_dependent_settings': {
+-        'defines': [
+-          '<@(jsoncpp_additional_macros)',
+-        ],
+-      },
      },
    ],
+ }
 --- /src/net/jsoncpp.h
 +++ /src/net/jsoncpp.h
 @@ -35,7 +35,7 @@
  
 --- /src/testing/testing.gyp
 +++ /src/testing/testing.gyp
-@@ -53,14 +53,12 @@
+@@ -53,76 +53,111 @@
    'targets': [
      {
        'target_name': 'testing',
 -      'type': 'static_library',
-+      'type': 'none',
-       'variables': {
-         'gtest_defines': [
-           'GTEST_LANG_CXX11=1',
-           'GTEST_HAS_TR1_TUPLE=0',  # disable tr1 tuple in favor of C++11 tuple.
-         ],
+-      'variables': {
+-        'gtest_defines': [
+-          'GTEST_LANG_CXX11=1',
+-          'GTEST_HAS_TR1_TUPLE=0',  # disable tr1 tuple in favor of C++11 tuple.
+-        ],
 -        'gtest_dir': '<(third_party_dir)/gtest/googletest',
 -        'gmock_dir': '<(third_party_dir)/gtest/googlemock',
-         'conditions': [
-           ['_toolset=="target" and target_platform=="Android"', {
-             'gtest_defines': [
-@@ -75,53 +73,15 @@
-           }],
-         ],
-       },
+-        'conditions': [
+-          ['_toolset=="target" and target_platform=="Android"', {
+-            'gtest_defines': [
+-              'GTEST_HAS_RTTI=0',  # Android NDKr7 requires this.
+-              'GTEST_HAS_CLONE=0',
+-              'GTEST_HAS_GLOBAL_WSTRING=0',
+-              'GTEST_HAS_POSIX_RE=0',
+-              'GTEST_HAS_STD_WSTRING=0',
+-              'GTEST_OS_LINUX=1',
+-              'GTEST_OS_LINUX_ANDROID=1',
+-            ],
+-          }],
+-        ],
+-      },
 -      'sources': [
 -        '<(gmock_dir)/src/gmock-cardinalities.cc',
 -        '<(gmock_dir)/src/gmock-internal-utils.cc',
 -      'defines': [
 -        '<@(gtest_defines)',
 -      ],
-       'all_dependent_settings': {
-         'defines': [
-           '<@(gtest_defines)',
-         ],
+-      'all_dependent_settings': {
+-        'defines': [
+-          '<@(gtest_defines)',
+-        ],
 -        'include_dirs': [
 -          '<(gmock_dir)/include',
 -          '<(gtest_dir)/include',
 -        ],
 -      },
--      'conditions': [
+       'conditions': [
 -        ['(_toolset=="target" and compiler_target=="clang") or '
 -         '(_toolset=="host" and compiler_host=="clang")', {
 -          'cflags': [
 -            '-Wno-missing-field-initializers',
 -            '-Wno-unused-private-field',
-+        'link_settings': {
-+          'libraries': [
-+            '-lgmock -lgtest',
++        ['use_libgtest==1', {
++          'type': 'none',
++          'variables': {
++            'gtest_defines': [
++              'GTEST_LANG_CXX11=1',
++              'GTEST_HAS_TR1_TUPLE=0',  # disable tr1 tuple in favor of C++11 tuple.
++            ],
++            'conditions': [
++              ['_toolset=="target" and target_platform=="Android"', {
++                'gtest_defines': [
++                  'GTEST_HAS_RTTI=0',  # Android NDKr7 requires this.
++                  'GTEST_HAS_CLONE=0',
++                  'GTEST_HAS_GLOBAL_WSTRING=0',
++                  'GTEST_HAS_POSIX_RE=0',
++                  'GTEST_HAS_STD_WSTRING=0',
++                  'GTEST_OS_LINUX=1',
++                  'GTEST_OS_LINUX_ANDROID=1',
++                ],
++              }],
++            ],
++          },
++          'all_dependent_settings': {
++            'defines': [
++              '<@(gtest_defines)',
++            ],
++            'link_settings': {
++              'libraries': [
++                '-lgmock -lgtest',
++              ],
++            },
++          },
++        }, {
++          'type': 'static_library',
++          'variables': {
++            'gtest_defines': [
++              'GTEST_LANG_CXX11=1',
++              'GTEST_HAS_TR1_TUPLE=0',  # disable tr1 tuple in favor of C++11 tuple.
++            ],
++            'gtest_dir': '<(third_party_dir)/gtest/googletest',
++            'gmock_dir': '<(third_party_dir)/gtest/googlemock',
++            'conditions': [
++              ['_toolset=="target" and target_platform=="Android"', {
++                'gtest_defines': [
++                  'GTEST_HAS_RTTI=0',  # Android NDKr7 requires this.
++                  'GTEST_HAS_CLONE=0',
++                  'GTEST_HAS_GLOBAL_WSTRING=0',
++                  'GTEST_HAS_POSIX_RE=0',
++                  'GTEST_HAS_STD_WSTRING=0',
++                  'GTEST_OS_LINUX=1',
++                  'GTEST_OS_LINUX_ANDROID=1',
++                ],
++              }],
++            ],
++          },
++          'sources': [
++            '<(gmock_dir)/src/gmock-cardinalities.cc',
++            '<(gmock_dir)/src/gmock-internal-utils.cc',
++            '<(gmock_dir)/src/gmock-matchers.cc',
++            '<(gmock_dir)/src/gmock-spec-builders.cc',
++            '<(gmock_dir)/src/gmock.cc',
++            '<(gtest_dir)/src/gtest-death-test.cc',
++            '<(gtest_dir)/src/gtest-filepath.cc',
++            '<(gtest_dir)/src/gtest-port.cc',
++            '<(gtest_dir)/src/gtest-printers.cc',
++            '<(gtest_dir)/src/gtest-test-part.cc',
++            '<(gtest_dir)/src/gtest-typed-test.cc',
++            '<(gtest_dir)/src/gtest.cc',
++          ],
++          'include_dirs': [
++            '<(gmock_dir)',
++            '<(gmock_dir)/include',
++            '<(gtest_dir)',
++            '<(gtest_dir)/include',
++          ],
++          'defines': [
++            '<@(gtest_defines)',
            ],
--        }],
--      ],
++          'all_dependent_settings': {
++            'defines': [
++              '<@(gtest_defines)',
++            ],
++            'include_dirs': [
++              '<(gmock_dir)/include',
++              '<(gtest_dir)/include',
++            ],
++          },
++          'conditions': [
++            ['(_toolset=="target" and compiler_target=="clang") or '
++             '(_toolset=="host" and compiler_host=="clang")', {
++              'cflags': [
++                '-Wno-missing-field-initializers',
++                '-Wno-unused-private-field',
++              ],
++            }],
++          ],
++          'xcode_settings': {
++            # Remove the force included file.  This is not necessary for third
++            # party libraries, and it causes a build error.
++            'OTHER_CFLAGS!' : [
++              '-include base/namespace.h',
++            ],
++          },
+         }],
+       ],
 -      'xcode_settings': {
 -        # Remove the force included file.  This is not necessary for third
 -        # party libraries, and it causes a build error.
 -        'OTHER_CFLAGS!' : [
 -          '-include base/namespace.h',
 -        ],
-+        },
-       },
+-      },
      },
      {
+       'target_name': 'gen_mozc_data_dir_header',
index a5b640dac271e2e40feaef2a0062e61bb4bcc47e..017f643d86c912bb2eb5993ddf58a9caca41dc6d 100644 (file)
@@ -156,7 +156,9 @@ src_configure() {
                gyp_arguments+=(-D compiler_host=unknown -D compiler_target=unknown)
        fi
 
+       gyp_arguments+=(-D use_libgtest=$(usex test 1 0))
        gyp_arguments+=(-D use_libibus=$(usex ibus 1 0))
+       gyp_arguments+=(-D use_libjsoncpp=$(usex test 1 0))
        gyp_arguments+=(-D use_libprotobuf=1)
        gyp_arguments+=(-D use_libzinnia=1)
        gyp_arguments+=(-D enable_gtk_renderer=$(usex renderer 1 0))
index 686839da1c009a6f9dd6024b9d55054cdf41d1b6..75b207ea2ec1aea612c05f93f04a9a740983c587 100644 (file)
@@ -156,7 +156,9 @@ src_configure() {
                gyp_arguments+=(-D compiler_host=unknown -D compiler_target=unknown)
        fi
 
+       gyp_arguments+=(-D use_libgtest=$(usex test 1 0))
        gyp_arguments+=(-D use_libibus=$(usex ibus 1 0))
+       gyp_arguments+=(-D use_libjsoncpp=$(usex test 1 0))
        gyp_arguments+=(-D use_libprotobuf=1)
        gyp_arguments+=(-D use_libzinnia=1)
        gyp_arguments+=(-D enable_gtk_renderer=$(usex renderer 1 0))