Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[many ports] Add X windows part 11/N #27441

Merged
merged 45 commits into from
Nov 12, 2022

Conversation

Neumann-A
Copy link
Contributor

No description provided.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libx11 have changed but the version was not updated
version: 1.7.3.1#1
old SHA: e69bacce69d31cc63b4c1f6c5637ba204289a496
new SHA: 573cd06f2b603a5e604855a4ef14624ed87a3fda
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 934a99dc13cabb330824ae1a5ab4a53a9acc5a49 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 32b4280..b831e7c 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3822,7 +3822,7 @@
     },
     "libice": {
       "baseline": "1.0.10",
-      "port-version": 0
+      "port-version": 1
     },
     "libiconv": {
       "baseline": "1.17",
@@ -4376,6 +4376,10 @@
       "baseline": "1.0.9",
       "port-version": 0
     },
+    "libxaw": {
+      "baseline": "1.0.13",
+      "port-version": 0
+    },
     "libxcomposite": {
       "baseline": "0.4.5",
       "port-version": 0
@@ -4444,6 +4448,10 @@
       "baseline": "4.4.1",
       "port-version": 8
     },
+    "libxmu": {
+      "baseline": "1.1.3",
+      "port-version": 0
+    },
     "libxpm": {
       "baseline": "3.5.11",
       "port-version": 1
@@ -4472,10 +4480,22 @@
       "baseline": "1.1.37",
       "port-version": 0
     },
+    "libxt": {
+      "baseline": "1.2.1",
+      "port-version": 0
+    },
+    "libxtst": {
+      "baseline": "1.2.4",
+      "port-version": 0
+    },
     "libxv": {
       "baseline": "1.0.11",
       "port-version": 0
     },
+    "libxxf86vm": {
+      "baseline": "1.1.5",
+      "port-version": 0
+    },
     "libyaml": {
       "baseline": "0.2.5",
       "port-version": 3
diff --git a/versions/l-/libice.json b/versions/l-/libice.json
index 38babce..3328243 100644
--- a/versions/l-/libice.json
+++ b/versions/l-/libice.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "c19081b820dd8056dbb7bbb052ca0c3bcf628cd7",
+      "version": "1.0.10",
+      "port-version": 1
+    },
     {
       "git-tree": "95b91f0eb6ed362a133896484d1cc4fa5ee3b007",
       "version": "1.0.10",

github-actions[bot]
github-actions bot previously approved these changes Oct 24, 2022
@JonLiu1993 JonLiu1993 changed the title X windows part 11/N [many ports] Add X windows part 11/N Oct 25, 2022
@JonLiu1993 JonLiu1993 added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Oct 25, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libxxf86vm have changed but the version was not updated
version: 1.1.5
old SHA: 699ebcb7ff1874847d75c5da456a2d00860a1074
new SHA: a4dfb11cf5012b77357e097116359740ee7ade1f
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
error: checked-in files for libxt have changed but the version was not updated
version: 1.2.1
old SHA: 0bee0757045f9a2f3bf939f0cbbf3176a7b40abe
new SHA: bedb03dd27570db1aeb3e435549b5c527eba11b9
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 934a99dc13cabb330824ae1a5ab4a53a9acc5a49 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 898233b..aae3735 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4454,7 +4454,7 @@
     },
     "libxpm": {
       "baseline": "3.5.11",
-      "port-version": 1
+      "port-version": 2
     },
     "libxpresent": {
       "baseline": "1.0.0",
diff --git a/versions/l-/libxpm.json b/versions/l-/libxpm.json
index cc9d5fc..4a56da7 100644
--- a/versions/l-/libxpm.json
+++ b/versions/l-/libxpm.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "57445ce71e4aaed7f8474048b8f84525208f7007",
+      "version": "3.5.11",
+      "port-version": 2
+    },
     {
       "git-tree": "04f6484a58c91b33e62feae8a44caa25ab667aaf",
       "version": "3.5.11",

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libxxf86vm have changed but the version was not updated
version: 1.1.5
old SHA: 699ebcb7ff1874847d75c5da456a2d00860a1074
new SHA: a4dfb11cf5012b77357e097116359740ee7ade1f
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
error: checked-in files for libxt have changed but the version was not updated
version: 1.2.1
old SHA: 0bee0757045f9a2f3bf939f0cbbf3176a7b40abe
new SHA: fe82861ef794282accd3879ea421e25af282923c
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 934a99dc13cabb330824ae1a5ab4a53a9acc5a49 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 898233b..aae3735 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4454,7 +4454,7 @@
     },
     "libxpm": {
       "baseline": "3.5.11",
-      "port-version": 1
+      "port-version": 2
     },
     "libxpresent": {
       "baseline": "1.0.0",
diff --git a/versions/l-/libxpm.json b/versions/l-/libxpm.json
index cc9d5fc..4a56da7 100644
--- a/versions/l-/libxpm.json
+++ b/versions/l-/libxpm.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "57445ce71e4aaed7f8474048b8f84525208f7007",
+      "version": "3.5.11",
+      "port-version": 2
+    },
     {
       "git-tree": "04f6484a58c91b33e62feae8a44caa25ab667aaf",
       "version": "3.5.11",

github-actions[bot]
github-actions bot previously approved these changes Oct 25, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/kf5kio/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libxpm have changed but the version was not updated
version: 3.5.11#2
old SHA: 7d7e7aaaf8aa2bd886dcea789497ed9496d0d7dc
new SHA: 3efa6a545aff99a8e1a6055284149e7717043f47
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 934a99dc13cabb330824ae1a5ab4a53a9acc5a49 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index f258f03..312c88a 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4369,8 +4369,8 @@
       "port-version": 3
     },
     "libx11": {
-      "baseline": "1.7.3.1",
-      "port-version": 2
+      "baseline": "1.8.1",
+      "port-version": 0
     },
     "libxau": {
       "baseline": "1.0.9",
diff --git a/versions/l-/libx11.json b/versions/l-/libx11.json
index d5635b8..0a7c072 100644
--- a/versions/l-/libx11.json
+++ b/versions/l-/libx11.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "c8326a2ece2f179c0e57b26233c8506872ef49d5",
+      "version": "1.8.1",
+      "port-version": 0
+    },
     {
       "git-tree": "05282e1e4d501c80dc305b386ce7b814296a66da",
       "version": "1.7.3.1",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/kf5kio/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/libxt/vcpkg.json b/ports/libxt/vcpkg.json
index 33fe7b8..473e3fb 100644
--- a/ports/libxt/vcpkg.json
+++ b/ports/libxt/vcpkg.json
@@ -11,11 +11,11 @@
     "libsm",
     "libx11",
     {
-      "name": "vcpkg-cmake-get-vars",
+      "name": "libxt",
       "host": true
     },
     {
-      "name": "libxt",
+      "name": "vcpkg-cmake-get-vars",
       "host": true
     },
     "xorg-macros",
PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for libxt have changed but the version was not updated
version: 1.2.1
old SHA: fe82861ef794282accd3879ea421e25af282923c
new SHA: f2d8e9953f3fa31376a7f44be649ae34e6fb7d15
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
error: checked-in files for libxpm have changed but the version was not updated
version: 3.5.11#2
old SHA: 7d7e7aaaf8aa2bd886dcea789497ed9496d0d7dc
new SHA: 3efa6a545aff99a8e1a6055284149e7717043f47
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 44135c31038685cb7deaed1d703ef6707c867a0d -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 27941a4..89326b6 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4369,8 +4369,8 @@
       "port-version": 3
     },
     "libx11": {
-      "baseline": "1.7.3.1",
-      "port-version": 2
+      "baseline": "1.8.1",
+      "port-version": 0
     },
     "libxau": {
       "baseline": "1.0.9",
diff --git a/versions/l-/libx11.json b/versions/l-/libx11.json
index d5635b8..0a7c072 100644
--- a/versions/l-/libx11.json
+++ b/versions/l-/libx11.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "c8326a2ece2f179c0e57b26233c8506872ef49d5",
+      "version": "1.8.1",
+      "port-version": 0
+    },
     {
       "git-tree": "05282e1e4d501c80dc305b386ce7b814296a66da",
       "version": "1.7.3.1",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/kf5kio/vcpkg.json

Valid values for the license field can be found in the documentation

@JonLiu1993 JonLiu1993 added the info:reviewed Pull Request changes follow basic guidelines label Oct 31, 2022
@BillyONeal
Copy link
Member

I'm not sure how to evaluate the correctness of these patches. Have they been submitted upstream?

@JonLiu1993 JonLiu1993 added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Nov 1, 2022
@Neumann-A
Copy link
Contributor Author

I'm not sure how to evaluate the correctness of these patches. Have they been submitted upstream?

No upstream doesn't care about MSVC or native Windows at all. Leave a comment at the patch you have a problem to evaluate the correctness of.

@BillyONeal
Copy link
Member

BillyONeal commented Nov 2, 2022

No upstream doesn't care about MSVC or native Windows at all.

Upstream not caring is not itself justification for vcpkg to be taking up such a mantle. In the contrary, it argues against something being included in the index in the first place.

Leave a comment at the patch you have a problem to evaluate the correctness of.

Anything that is a meaningful and substantial change to the product code, that makes decisions that occur in product code. The entierty of thread_safe_init.patch for example which looks like it was copy pasted out of a StackOverflow answer without thought for what initialization order consequences in the resulting program are.

Similarly libxmu/cl-build.patch sets a macro controlling an unknowably large amount of code, and the creates a global variable bringing up the nonlocal static initialization order fiasco.

The burden of proof is on the patch to demonstrate its correctness, and I think at an absolute minimum upstream notification is necessary here.

@Neumann-A
Copy link
Contributor Author

Neumann-A commented Nov 2, 2022

Anything that is a meaningful and substantial ....

I already said I am fine with removing that patch and just configure libx11 without threadsafe init. All multi-threaded Xlib application should already be calling XInitThreads (assuming they read the docs ;) )

initialization order consequences

there are none. XInitThreads just initializes some variables/locks itself so other functions in main can call xlib functions without caring to call XInitThreads before that. Basically the code should always look like:

int main() {
XInitThreads() // Only necessary If you plan to all call xlib functions from different threads
<other xlib functions call go here>
}

but as i said no need to argue here I just remove it ;)


Similarly libxmu/cl-build.patch sets a macro controlling an unknowably large amount of code, and the creates a global variable bringing up the nonlocal static initialization order fiasco.

#define XTSTRINGDEFINES // Otherwise XtRImmediate is not a constant expression

Is a funny one. It only controls how some purely string defines are handled from <X11/StringDefs.h> (same behavior in <X11/Shell.h>; XTSTRINGDEFINES is only used in those two headers. And those two headers are also automatically generated by the build of libX11)

#ifdef XTSTRINGDEFINES
#define XtNaccelerators "accelerators"
#define XtNallowHoriz "allowHoriz"
...
#else
XT_EXTERN_API _XtStringDefs_h_Const char XtStrings[]; // XtStrings is a char array containing the above names as a null terminated list of char arrays
#ifndef XtNaccelerators
#define XtNaccelerators ((String)&XtStrings[0])
#endif
#ifndef XtNallowHoriz
#define XtNallowHoriz ((String)&XtStrings[13])
#endif
....
#endif

Basically MSVC cannot use something like ((String)&XtStrings[13]) in const context if libX11 has been build dynamically (it works if libX11 is a static library). I can generally set XTSTRINGDEFINES in the header of libX11 if that is more to your liking but I assumed explicitly switching is better to avoid duplication of strings in non const context.

and the creates a global variable bringing up the non-local static initialization order fiasco.

I'll recheck if const EditresBlock editDefault(BlockNone); is required. I currently cannot remember why I added it. (I probably will just remove it for now until I see a problem about it again.)

github-actions[bot]
github-actions bot previously approved these changes Nov 2, 2022
github-actions[bot]
github-actions bot previously approved these changes Nov 2, 2022
@Neumann-A
Copy link
Contributor Author

@JonLiu1993 Remove author_response tag?

@BillyONeal BillyONeal added the info:reviewed Pull Request changes follow basic guidelines label Nov 10, 2022
@BillyONeal
Copy link
Member

@JavierMatosD @valeriaconde @ras0219-msft @vicroms and I looked at this today and now that a lot of the patching has been removed agree it might be OK after some investigation of what that set macro does. Retagging reviewed.

@JavierMatosD JavierMatosD merged commit 6f7ffeb into microsoft:master Nov 12, 2022
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Nov 12, 2022
[many  ports] Add X windows part 11/N (microsoft#27441)
@Neumann-A Neumann-A deleted the x_windows_part11 branch November 12, 2022 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR! info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants