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

Deployment instruction #260

Open
MasterInQuestion opened this issue Apr 19, 2024 · 2 comments
Open

Deployment instruction #260

MasterInQuestion opened this issue Apr 19, 2024 · 2 comments

Comments

@MasterInQuestion
Copy link

    Derived from: https://github.com/yt-dlp/yt-dlp/issues/9710
    Intended to complement [ https://exiftool.org/install.html ].

    Download "lib", "exiftool" (only the 2 needed) from [ https://github.com/exiftool/exiftool ].
    Place them under certain directory (e.g. "exiftool").
    `perl "exiftool"` alike should work. [ See also: https://perldoc.perl.org/perlrun ]

    E.g.
(Unix Shell)
[[

	exec '/usr/bin/perl' \
	'/sdcard/.src/exiftool/exiftool' "$@";

]]
,
(Windows CMD (Batch) )
[[

	@(
	SETLOCAL
	SET LC_ALL=C
:: Addressing: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/119
:
	) & "C:\perl\bin\perl.exe" ^
	"C:\.src\exiftool\exiftool" %*
::
::	Buggy commenting in Windows CMD:
::	"REM" is also sort of comment. (essentially, no-op command less efficient)
::	"::" is actually sort of Label (of "GOTO") definition... (happened to be more efficient)
::	.
::	So no real comment... really.
::

]]
    "perl.exe" from:
    https://strawberryperl.com/releases.html
    .
    Note in "perl/bin" only "perl.exe" and "*.dll" are needed: rest may (and actually recommended to) be deleted. [ Mostly of unknown usage, duplicate; and likely broken. ]
    For ExifTool's usage, most of the "perl/vendor/lib" are also unneeded. [1]
[ [1]
    Only had a minor warning for "Win32::API". (content details: "auto/Win32/API/.packlist")
    Further reduction in "perl/lib" is also possible. ]

    I also don't quite understand why would the package be bundled with GCC MinGW-w64 [ https://www.mingw-w64.org/downloads/#winlibscom ]:
    Which took over 4x the size of the Perl... while not strictly needed.

    [ Quote genio @ CE 2021-04-22 14:31:37 UTC:
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/11#issuecomment-824893916
    The problem is that for Windows, MinGW is a core part of Perl and it has to be the same version of MinGW that Perl was built with. ]
<^>    ???

@shawnlaffan
Copy link

I also don't quite understand why would the package be bundled with GCC MinGW-w64 [ https://www.mingw-w64.org/downloads/#winlibscom ]:
Which took over 4x the size of the Perl... while not strictly needed.

A C compiler and related files are needed to compile many of the distributions on CPAN. Without it one cannot install new modules or update those already installed.

If such updates are not needed for a project such as this then one can of course trim down the list of files. Tools such as PAR::Packer and Module::ScanDeps are worth looking at as examples of prior art in this area.

@MasterInQuestion
Copy link
Author

    Thanks for the explanation.
    It's much usage dependent: when using Perl as compilation script, the compiler environment is of course mandatory.

    Though I still quite doubt the rationale of bundling it together with Perl:
    Different compilation expectation may require different compiler environment.
    And if it's not used for compilation at all... Sort of become bloatware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants