Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
458af6a
Add build function check for current OS and update validation logic
crazywhalecc Dec 10, 2025
dc05ad2
Update captain hook for windows
crazywhalecc Dec 10, 2025
2080407
Enhance Windows support by updating artifact configuration and improv…
crazywhalecc Dec 11, 2025
fe0b983
Fix debug mode and verbosity relation
crazywhalecc Dec 11, 2025
4bbe56d
Fix windows extracting with curl typo, ignore traits in package
crazywhalecc Dec 11, 2025
eb0a36e
Rename
crazywhalecc Dec 11, 2025
48fbeab
Add log for interactive term
crazywhalecc Dec 11, 2025
7c8b40a
Add windows php cli builds, support micro patches
crazywhalecc Dec 11, 2025
f6b47ad
Separate unix and windows build for php
crazywhalecc Dec 11, 2025
6d292b4
Add WindowsCMakeExecutor
crazywhalecc Dec 11, 2025
e3f9894
Apply copilot's suggestion
crazywhalecc Dec 11, 2025
c4cec15
Use container instead of passing
crazywhalecc Dec 11, 2025
da8b7c2
Use the real build target to display
crazywhalecc Dec 11, 2025
4e841cf
Update src/Package/Target/php/windows.php
crazywhalecc Dec 11, 2025
8bf2f42
Merge remote-tracking branch 'origin/v3-feat/win' into v3-feat/win
crazywhalecc Dec 11, 2025
9a91aec
Update src/Package/Target/php/windows.php
crazywhalecc Dec 11, 2025
a4fd618
Update src/StaticPHP/Artifact/Artifact.php
crazywhalecc Dec 11, 2025
355da34
Merge remote-tracking branch 'origin/v3-feat/win' into v3-feat/win
crazywhalecc Dec 11, 2025
63c7aa8
Update captainhook.json to cross-platform friendly
crazywhalecc Dec 11, 2025
f8952da
Update captainhook.json to cross-platform friendly
crazywhalecc Dec 11, 2025
88d135a
Allow interrupt on Windows
crazywhalecc Dec 11, 2025
fefcbf4
Allow automatically get latest gRPC source (#909)
crazywhalecc Dec 11, 2025
910f10a
Typo
crazywhalecc Dec 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 44 additions & 44 deletions captainhook.json
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
{
"pre-push": {
"enabled": true,
"actions": [
{
"action": "composer analyse"
}
]
},
"pre-commit": {
"enabled": true,
"actions": [
{
"action": "composer cs-fix -- --config=.php-cs-fixer.php --dry-run --diff {$STAGED_FILES|of-type:php}",
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\OfType",
"args": ["php"]
}
]
}
]
},
"post-change": {
"enabled": true,
"actions": [
{
"action": "composer install",
"options": [],
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any",
"args": [
[
"composer.json",
"composer.lock"
]
]
}
]
}
]
}
}
{
"pre-push": {
"enabled": true,
"actions": [
{
"action": "php vendor/bin/phpstan analyse --memory-limit 300M"
}
]
},
"pre-commit": {
"enabled": true,
"actions": [
{
"action": "php vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --dry-run --diff {$STAGED_FILES|of-type:php} --sequential",
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\OfType",
"args": ["php"]
}
]
}
]
},
"post-change": {
"enabled": true,
"actions": [
{
"action": "composer install",
"options": [],
"conditions": [
{
"exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any",
"args": [
[
"composer.json",
"composer.lock"
]
]
}
]
}
]
}
}
8 changes: 6 additions & 2 deletions config/artifact.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,11 @@
},
"strawberry-perl": {
"binary": {
"windows-x86_64": "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip"
"windows-x86_64": {
"type": "url",
"url": "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_5380_5361/strawberry-perl-5.38.0.1-64bit-portable.zip",
"extract": "{pkg_root_path}/strawberry-perl"
}
}
},
"upx": {
Expand Down Expand Up @@ -395,7 +399,7 @@
"binary": "hosted",
"source": {
"type": "git",
"rev": "v1.75.x",
"regex": "v(?<version>1.\\d+).x",
"url": "https://github.com/grpc/grpc.git"
}
},
Expand Down
5 changes: 4 additions & 1 deletion config/pkg.target.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{
"vswhere": {
"type": "target",
"artifact": "vswhere"
"artifact": "vswhere",
"static-bins@windows": [
"vswhere.exe"
]
},
"pkg-config": {
"type": "target",
Expand Down
2 changes: 1 addition & 1 deletion src/Package/Library/imap.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#[Library('imap')]
class imap
{
#[AfterStage('php', [php::class, 'patchEmbedScripts'], 'imap')]
#[AfterStage('php', [php::class, 'patchUnixEmbedScripts'], 'imap')]
#[PatchDescription('Fix missing -lcrypt in php-config libs on glibc systems')]
public function afterPatchScripts(): void
{
Expand Down
24 changes: 24 additions & 0 deletions src/Package/Library/onig.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

declare(strict_types=1);

namespace Package\Library;

use StaticPHP\Attribute\Package\BuildFor;
use StaticPHP\Attribute\Package\Library;
use StaticPHP\Package\LibraryPackage;
use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
use StaticPHP\Util\FileSystem;

#[Library('onig')]
class onig
{
#[BuildFor('Windows')]
public function buildWin(LibraryPackage $package): void
{
WindowsCMakeExecutor::create($package)
->addConfigureArgs('-DMSVC_STATIC_RUNTIME=ON')
->build();
FileSystem::copy("{$package->getLibDir()}\\onig.lib", "{$package->getLibDir()}\\onig_a.lib");
}
}
Loading