[v1] meson: Update `gtest` wrap to 1.17.0
diff mbox series

Message ID 20250613120623.1073184-1-barnabas.pocze@ideasonboard.com
State Rejected
Headers show
Series
  • [v1] meson: Update `gtest` wrap to 1.17.0
Related show

Commit Message

Barnabás Pőcze June 13, 2025, 12:06 p.m. UTC
Update `gtest` to the latest available version in the wrapdb,
1.17.0, which was released on 2025-04-30. The wrap file has not
been updated since it was added, using version 1.11.0, which
was released more than 4 years ago.

Due to changes in the wrap file, googletest is compiled as a
library instead of just attaching its sources the build targets
using it, so the `default_library=static` option is added to
preserve the same behaviour.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
 src/apps/lc-compliance/meson.build |  5 ++++-
 subprojects/.gitignore             |  2 +-
 subprojects/gtest.wrap             | 18 +++++++++---------
 3 files changed, 14 insertions(+), 11 deletions(-)

Comments

Laurent Pinchart June 15, 2025, 12:41 a.m. UTC | #1
Hi Barnabás,

Thank you for the patch.

On Fri, Jun 13, 2025 at 02:06:23PM +0200, Barnabás Pőcze wrote:
> Update `gtest` to the latest available version in the wrapdb,
> 1.17.0, which was released on 2025-04-30. The wrap file has not
> been updated since it was added, using version 1.11.0, which
> was released more than 4 years ago.

Could you explain why the update is needed/useful/desired ?

> Due to changes in the wrap file, googletest is compiled as a
> library instead of just attaching its sources the build targets
> using it, so the `default_library=static` option is added to
> preserve the same behaviour.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> ---
>  src/apps/lc-compliance/meson.build |  5 ++++-
>  subprojects/.gitignore             |  2 +-
>  subprojects/gtest.wrap             | 18 +++++++++---------
>  3 files changed, 14 insertions(+), 11 deletions(-)
> 
> diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
> index 80b9a1602..cb2506b65 100644
> --- a/src/apps/lc-compliance/meson.build
> +++ b/src/apps/lc-compliance/meson.build
> @@ -2,7 +2,10 @@
>  
>  libgtest = dependency('gtest', version : '>=1.10.0',
>                        required : get_option('lc-compliance'),
> -                      fallback : ['gtest', 'gtest_dep'])
> +                      fallback : ['gtest', 'gtest_dep'],
> +                      default_options : [
> +                        'default_library=static',

We use 4 spaces for indentation.

> +                      ])
>  
>  if opt_lc_compliance.disabled() or not libevent.found() or not libgtest.found()
>      lc_compliance_enabled = false
> diff --git a/subprojects/.gitignore b/subprojects/.gitignore
> index b08d69907..3e9a39182 100644
> --- a/subprojects/.gitignore
> +++ b/subprojects/.gitignore
> @@ -1,6 +1,6 @@
>  # SPDX-License-Identifier: CC0-1.0
>  
> -/googletest-release*
> +/googletest-*
>  /libpisp
>  /libyaml
>  /libyuv
> diff --git a/subprojects/gtest.wrap b/subprojects/gtest.wrap
> index 8892e1842..3a9771450 100644
> --- a/subprojects/gtest.wrap
> +++ b/subprojects/gtest.wrap
> @@ -1,13 +1,13 @@
> -# SPDX-License-Identifier: CC0-1.0
> -

Please keep the SPDX license tag.

>  [wrap-file]
> -directory = googletest-release-1.11.0
> -source_url = https://github.com/google/googletest/archive/release-1.11.0.zip
> -source_filename = gtest-1.11.0.zip
> -source_hash = 353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a
> -patch_filename = gtest_1.11.0-1_patch.zip
> -patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.11.0-1/get_patch
> -patch_hash = d38c39184384608b08419be52aed1d0f9d9d1b5ed71c0c35e51cccbdddab7084
> +directory = googletest-1.17.0
> +source_url = https://github.com/google/googletest/archive/refs/tags/v1.17.0.tar.gz
> +source_filename = googletest-1.17.0.tar.gz
> +source_hash = 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
> +patch_filename = gtest_1.17.0-3_patch.zip
> +patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.17.0-3/get_patch
> +patch_hash = 3e2799683f27c6dce138b7bae823416581c467ddde755c9a516c0863225f0ceb
> +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/gtest_1.17.0-3/googletest-1.17.0.tar.gz
> +wrapdb_version = 1.17.0-3
>  
>  [provide]
>  gtest = gtest_dep
Barnabás Pőcze June 16, 2025, 7:37 a.m. UTC | #2
Hi

2025. 06. 15. 2:41 keltezéssel, Laurent Pinchart írta:
> Hi Barnabás,
> 
> Thank you for the patch.
> 
> On Fri, Jun 13, 2025 at 02:06:23PM +0200, Barnabás Pőcze wrote:
>> Update `gtest` to the latest available version in the wrapdb,
>> 1.17.0, which was released on 2025-04-30. The wrap file has not
>> been updated since it was added, using version 1.11.0, which
>> was released more than 4 years ago.
> 
> Could you explain why the update is needed/useful/desired ?

Admittedly, there is nothing urgent. But this is an old, wholly
unsupported release, and many distributions ship newer versions.
I think it's usually better to stay "ahead" so that by the time
distributions update one will have already tested with that version.
But I believe arguments can be made either way (e.g. staying on 1.11
means that accidentally using new features is avoided because the CI
uses the fallback).


> 
>> Due to changes in the wrap file, googletest is compiled as a
>> library instead of just attaching its sources the build targets
>> using it, so the `default_library=static` option is added to
>> preserve the same behaviour.
>>
>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
>> ---
>>   src/apps/lc-compliance/meson.build |  5 ++++-
>>   subprojects/.gitignore             |  2 +-
>>   subprojects/gtest.wrap             | 18 +++++++++---------
>>   3 files changed, 14 insertions(+), 11 deletions(-)
>>
>> diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
>> index 80b9a1602..cb2506b65 100644
>> --- a/src/apps/lc-compliance/meson.build
>> +++ b/src/apps/lc-compliance/meson.build
>> @@ -2,7 +2,10 @@
>>   
>>   libgtest = dependency('gtest', version : '>=1.10.0',
>>                         required : get_option('lc-compliance'),
>> -                      fallback : ['gtest', 'gtest_dep'])
>> +                      fallback : ['gtest', 'gtest_dep'],
>> +                      default_options : [
>> +                        'default_library=static',
> 
> We use 4 spaces for indentation.
> 
>> +                      ])
>>   
>>   if opt_lc_compliance.disabled() or not libevent.found() or not libgtest.found()
>>       lc_compliance_enabled = false
>> diff --git a/subprojects/.gitignore b/subprojects/.gitignore
>> index b08d69907..3e9a39182 100644
>> --- a/subprojects/.gitignore
>> +++ b/subprojects/.gitignore
>> @@ -1,6 +1,6 @@
>>   # SPDX-License-Identifier: CC0-1.0
>>   
>> -/googletest-release*
>> +/googletest-*
>>   /libpisp
>>   /libyaml
>>   /libyuv
>> diff --git a/subprojects/gtest.wrap b/subprojects/gtest.wrap
>> index 8892e1842..3a9771450 100644
>> --- a/subprojects/gtest.wrap
>> +++ b/subprojects/gtest.wrap
>> @@ -1,13 +1,13 @@
>> -# SPDX-License-Identifier: CC0-1.0
>> -
> 
> Please keep the SPDX license tag.

Is that fine if I just ran  `meson wrap update gtest` and did not
touch the file in any way?


Regards,
Barnabás Pőcze

> 
>>   [wrap-file]
>> -directory = googletest-release-1.11.0
>> -source_url = https://github.com/google/googletest/archive/release-1.11.0.zip
>> -source_filename = gtest-1.11.0.zip
>> -source_hash = 353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a
>> -patch_filename = gtest_1.11.0-1_patch.zip
>> -patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.11.0-1/get_patch
>> -patch_hash = d38c39184384608b08419be52aed1d0f9d9d1b5ed71c0c35e51cccbdddab7084
>> +directory = googletest-1.17.0
>> +source_url = https://github.com/google/googletest/archive/refs/tags/v1.17.0.tar.gz
>> +source_filename = googletest-1.17.0.tar.gz
>> +source_hash = 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
>> +patch_filename = gtest_1.17.0-3_patch.zip
>> +patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.17.0-3/get_patch
>> +patch_hash = 3e2799683f27c6dce138b7bae823416581c467ddde755c9a516c0863225f0ceb
>> +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/gtest_1.17.0-3/googletest-1.17.0.tar.gz
>> +wrapdb_version = 1.17.0-3
>>   
>>   [provide]
>>   gtest = gtest_dep
>
Laurent Pinchart June 16, 2025, 8 a.m. UTC | #3
Hi Barnabás,

On Mon, Jun 16, 2025 at 09:37:10AM +0200, Barnabás Pőcze wrote:
> 2025. 06. 15. 2:41 keltezéssel, Laurent Pinchart írta:
> > On Fri, Jun 13, 2025 at 02:06:23PM +0200, Barnabás Pőcze wrote:
> >> Update `gtest` to the latest available version in the wrapdb,
> >> 1.17.0, which was released on 2025-04-30. The wrap file has not
> >> been updated since it was added, using version 1.11.0, which
> >> was released more than 4 years ago.
> > 
> > Could you explain why the update is needed/useful/desired ?
> 
> Admittedly, there is nothing urgent. But this is an old, wholly
> unsupported release, and many distributions ship newer versions.
> I think it's usually better to stay "ahead" so that by the time
> distributions update one will have already tested with that version.
> But I believe arguments can be made either way (e.g. staying on 1.11
> means that accidentally using new features is avoided because the CI
> uses the fallback).

Debian bullseye ships 1.10.0, and Debian bookworm ships 1.12.0. Trixie
has 1.16.0. 1.17.0 appears to be too new maybe ?

> >> Due to changes in the wrap file, googletest is compiled as a
> >> library instead of just attaching its sources the build targets
> >> using it, so the `default_library=static` option is added to
> >> preserve the same behaviour.
> >>
> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> >> ---
> >>   src/apps/lc-compliance/meson.build |  5 ++++-
> >>   subprojects/.gitignore             |  2 +-
> >>   subprojects/gtest.wrap             | 18 +++++++++---------
> >>   3 files changed, 14 insertions(+), 11 deletions(-)
> >>
> >> diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
> >> index 80b9a1602..cb2506b65 100644
> >> --- a/src/apps/lc-compliance/meson.build
> >> +++ b/src/apps/lc-compliance/meson.build
> >> @@ -2,7 +2,10 @@
> >>   
> >>   libgtest = dependency('gtest', version : '>=1.10.0',
> >>                         required : get_option('lc-compliance'),
> >> -                      fallback : ['gtest', 'gtest_dep'])
> >> +                      fallback : ['gtest', 'gtest_dep'],
> >> +                      default_options : [
> >> +                        'default_library=static',
> > 
> > We use 4 spaces for indentation.
> > 
> >> +                      ])
> >>   
> >>   if opt_lc_compliance.disabled() or not libevent.found() or not libgtest.found()
> >>       lc_compliance_enabled = false
> >> diff --git a/subprojects/.gitignore b/subprojects/.gitignore
> >> index b08d69907..3e9a39182 100644
> >> --- a/subprojects/.gitignore
> >> +++ b/subprojects/.gitignore
> >> @@ -1,6 +1,6 @@
> >>   # SPDX-License-Identifier: CC0-1.0
> >>   
> >> -/googletest-release*
> >> +/googletest-*
> >>   /libpisp
> >>   /libyaml
> >>   /libyuv
> >> diff --git a/subprojects/gtest.wrap b/subprojects/gtest.wrap
> >> index 8892e1842..3a9771450 100644
> >> --- a/subprojects/gtest.wrap
> >> +++ b/subprojects/gtest.wrap
> >> @@ -1,13 +1,13 @@
> >> -# SPDX-License-Identifier: CC0-1.0
> >> -
> > 
> > Please keep the SPDX license tag.
> 
> Is that fine if I just ran  `meson wrap update gtest` and did not
> touch the file in any way?

The SPDX line should be added back manually. We strive to document the
license of every single file in libcamera.

Alternatively, .reuse/dep5 could be used to list licenses for the wrap
files, but SPDX tags are preferred.

> >>   [wrap-file]
> >> -directory = googletest-release-1.11.0
> >> -source_url = https://github.com/google/googletest/archive/release-1.11.0.zip
> >> -source_filename = gtest-1.11.0.zip
> >> -source_hash = 353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a
> >> -patch_filename = gtest_1.11.0-1_patch.zip
> >> -patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.11.0-1/get_patch
> >> -patch_hash = d38c39184384608b08419be52aed1d0f9d9d1b5ed71c0c35e51cccbdddab7084
> >> +directory = googletest-1.17.0
> >> +source_url = https://github.com/google/googletest/archive/refs/tags/v1.17.0.tar.gz
> >> +source_filename = googletest-1.17.0.tar.gz
> >> +source_hash = 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
> >> +patch_filename = gtest_1.17.0-3_patch.zip
> >> +patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.17.0-3/get_patch
> >> +patch_hash = 3e2799683f27c6dce138b7bae823416581c467ddde755c9a516c0863225f0ceb
> >> +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/gtest_1.17.0-3/googletest-1.17.0.tar.gz
> >> +wrapdb_version = 1.17.0-3
> >>   
> >>   [provide]
> >>   gtest = gtest_dep

Patch
diff mbox series

diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
index 80b9a1602..cb2506b65 100644
--- a/src/apps/lc-compliance/meson.build
+++ b/src/apps/lc-compliance/meson.build
@@ -2,7 +2,10 @@ 
 
 libgtest = dependency('gtest', version : '>=1.10.0',
                       required : get_option('lc-compliance'),
-                      fallback : ['gtest', 'gtest_dep'])
+                      fallback : ['gtest', 'gtest_dep'],
+                      default_options : [
+                        'default_library=static',
+                      ])
 
 if opt_lc_compliance.disabled() or not libevent.found() or not libgtest.found()
     lc_compliance_enabled = false
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
index b08d69907..3e9a39182 100644
--- a/subprojects/.gitignore
+++ b/subprojects/.gitignore
@@ -1,6 +1,6 @@ 
 # SPDX-License-Identifier: CC0-1.0
 
-/googletest-release*
+/googletest-*
 /libpisp
 /libyaml
 /libyuv
diff --git a/subprojects/gtest.wrap b/subprojects/gtest.wrap
index 8892e1842..3a9771450 100644
--- a/subprojects/gtest.wrap
+++ b/subprojects/gtest.wrap
@@ -1,13 +1,13 @@ 
-# SPDX-License-Identifier: CC0-1.0
-
 [wrap-file]
-directory = googletest-release-1.11.0
-source_url = https://github.com/google/googletest/archive/release-1.11.0.zip
-source_filename = gtest-1.11.0.zip
-source_hash = 353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a
-patch_filename = gtest_1.11.0-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.11.0-1/get_patch
-patch_hash = d38c39184384608b08419be52aed1d0f9d9d1b5ed71c0c35e51cccbdddab7084
+directory = googletest-1.17.0
+source_url = https://github.com/google/googletest/archive/refs/tags/v1.17.0.tar.gz
+source_filename = googletest-1.17.0.tar.gz
+source_hash = 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
+patch_filename = gtest_1.17.0-3_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.17.0-3/get_patch
+patch_hash = 3e2799683f27c6dce138b7bae823416581c467ddde755c9a516c0863225f0ceb
+source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/gtest_1.17.0-3/googletest-1.17.0.tar.gz
+wrapdb_version = 1.17.0-3
 
 [provide]
 gtest = gtest_dep