Help with New Port - M2VDownsizer

Robert Kennedy amtor at hotmail.com
Mon Aug 1 00:11:39 UTC 2022


Hello everyone!

I am working on a new port, M2VDownzsizer, which is a sister port to the recent existing port, M2VRequantiser.  Both ports are command line programs that shrink MPEG-2 video and are commonly used when shrinking  a DVD-9 video disc to fit onto a much more affordable DVD-5 writable disc.

M2VDownsizer was released as an open source project many years ago and was developed as an old XCode project for Macs running PowerPC and Intel 32 bit.  The code is quite old.

I have converted the project from an XCode project to a much simpler project using a Makefile.  I have also hacked and updated the code so it will run on modern compilers.  I also eliminated the need to compile the very old libraries in the source code by linking to much more up to date libraries available in Macports.  I have even written a man page!  M2VDownsizer appears to run just fine on more modern Macs!

Now my challenge is creating a Portfile!  I have a couple of questions:

  1.   How do I tell Macports to copy my Makefile (which I will place in the Files directory along with my source code patches) into my working directory before building?  (The original source never had a Makefile so there is nothing to patch).  P.S.  I could always create my own GitHub project and download the source (with the Makefile) from there.
  2.  How do I tell Macports to include the -faltivec flag in CFLAGS but only when a ppc build is being done?  I have the following in my Makefile but I suspect it would be much better to address this issue in the Portfile in case an Intel Mac is trying to build a ppc/x86 FAT binary:

ifeq ($(findstring ppc, $(UNAME_P)), ppc)
      CFLAGS += -faltivec
      CXXFLAGS += -flativec
endif

P.S.  I have no way to test ppc or ppc64 builds and the altivec related code.  So I have left the altivec source code alone.

     3. Is there anything like an "if-then-else" statement in Portfiles?

I am a newbie when it comes to writing Portfiles.  So, any advice and guidance that you can provide would be greatly appreciated.

RobK88

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20220801/a31224ba/attachment.htm>


More information about the macports-dev mailing list