Difference between revisions of "XMLTVexeBuild"

From XMLTV
Jump to: navigation, search
(Created page with "** DRAFT, NOT FINISHED ** == How to build XMLTV.EXE == First, let's be clear.. this is not cheap nor easy. Building XMLTV.EXE requires purchasing [http://www.activestate.co...")
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
** DRAFT, NOT FINISHED **
 
  
 
== How to build XMLTV.EXE ==
 
== How to build XMLTV.EXE ==
  
First, let's be clear.. this is not cheap nor easy.  Building XMLTV.EXE requires purchasing [http://www.activestate.com/perl-dev-kit ActiveState's Perl Developer Kit] for about US$300.  Most people can easily live with the Windows distribution and [http://alpha-exe.xmltv.org Alpha EXE]Those that need to modify a script, I suggest running a [[XMLTVWindowsBuild Native Windows Build]].
+
Previously, xmltv.exe was built using Activestate's Perl Development Kit. (about $300)That has been discontinued, and I was able to build xmltv.exe using the free PAR::Packer module!
 
+
 
+
 
+
For many years, this was black magic... I (Robert) had a PC where I had all the necessary modules working and I didn't touch it except to build XMLTV.EXE.  That version of perl was very old.. but it kept working.  Perl modules were obtained via ppm, cygwin, and more places than I could remember.  It wasn't reproducible.  The time had come to modernize and thanks to [[http://strawberryperl.com/ Strawberry Perl]] reproducible.
+
 
+
 
+
So, let's begin..
+
 
+
  
 
----
 
----
  
1. First follow the [[https://metacpan.org/pod/perldist_strawberry  Procedure to Build your own Strawberry Perl]]
+
# Follow instructions in [[XMLTVWindowsBuild]] to get a working xmltv under windows.
  I used c:\strawberryport  for my Portable Strawberry
+
# Install these modules
  I used c:\strawberry_build for my build directory
+
#: cpan Params::Validate           ''(may have already been installed by something else)''
  I used c:\strawberry for my output directory
+
#: cpan PAR::Packer
  I used C:\strawberryport\perl\site\lib\auto\share\dist\Perl-Dist-Strawberry\32bit-5.18.2.1.pp to build
+
#: cpan App::PP::Autolink
 
+
# execute "gmake xmltv.exe" from your xmltv directory.
  
1. Install [[http://strawberryperl.com/releases.html  Strawberry Perl Portable Edition]]  I put mine in c:\strawberryport
+
That's it!
  
2. I recommend removing any other Perl or GCC stuff from your PathIt may not be needed, but It's safer.
+
The first time XMLTV.EXE is executed, it will take a long time.  For my XMLTV.EXE I add modified Par::Packer to add a warning
 +
# CPAN
 +
# look PAR::Packer
 +
# edit myldr/boot.c (near line 198)
 +
#:  rc = my_mkdir(stmpdir, 0700);
 +
#:  // 2021-01-18 rmeden hack to print a message on first run
 +
#:  if ( rc == 0 ) fprintf(stderr,"Note: This will take a while on first run\n");
 +
#:  // rmeden
 +
#:  if ( rc == -1 && errno != EEXIST) {
 +
# perl Makefile.PL (PAR::Packer directory)
 +
# gmake install
 +
# now after build a new xmltv.exe it will print a warning on the first run.
  
3. Execute "c:\strawberryport\portableshell.bat"  to open a command shell with the right environment variables.
 
  
4. Execute "perldist_strawberry"
+
== Good Luck ==

Latest revision as of 01:46, 11 March 2022

How to build XMLTV.EXE

Previously, xmltv.exe was built using Activestate's Perl Development Kit. (about $300). That has been discontinued, and I was able to build xmltv.exe using the free PAR::Packer module!


  1. Follow instructions in XMLTVWindowsBuild to get a working xmltv under windows.
  2. Install these modules
    cpan Params::Validate           (may have already been installed by something else)
    cpan PAR::Packer
    cpan App::PP::Autolink
  3. execute "gmake xmltv.exe" from your xmltv directory.

That's it!

The first time XMLTV.EXE is executed, it will take a long time. For my XMLTV.EXE I add modified Par::Packer to add a warning

  1. CPAN
  2. look PAR::Packer
  3. edit myldr/boot.c (near line 198)
    rc = my_mkdir(stmpdir, 0700);
    // 2021-01-18 rmeden hack to print a message on first run
    if ( rc == 0 ) fprintf(stderr,"Note: This will take a while on first run\n");
    // rmeden
    if ( rc == -1 && errno != EEXIST) {
  4. perl Makefile.PL (PAR::Packer directory)
  5. gmake install
  6. now after build a new xmltv.exe it will print a warning on the first run.


Good Luck