[MacPorts] SummerOfCode modified

MacPorts noreply at macports.org
Tue Mar 17 11:11:06 PDT 2015


Page "SummerOfCode" was changed by raimue at macports.org
Diff URL: <https://trac.macports.org/wiki/SummerOfCode?action=diff&version=258>
Revision 258
Comment: This might become an idea in the future
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: SummerOfCode
=========================================================================
--- SummerOfCode (version: 257)
+++ SummerOfCode (version: 258)
@@ -251,6 +251,28 @@
 * Languages: TCL, XML
 * Potential mentors: TBD
 
+
+{{{
+#!comment
+# This was just a wild idea by me. After reading it again, I am no longer sure if this is suitable as an idea. The compiler binary checks would be covered by a functioning trace mode already and environment variable checks are hard to implement (if possible at all).
+# However, I already typed it out now, so I leave it here for discussion with other mentors. --raimue@
+
+==== Run basic checks on build systems ==== #buildcheck
+
+Some mistakes are very common on newly written ports, mostly because build systems do not always respect the usual conventions. While the port works for the initial port author, it may fail for others due to these mistakes. These could be checked for automatically to catch them before adding the port to the ports tree.
+
+First, a set of tests could be run on the extracted, patched (and configured) sources. For example, a possible check could include whether the given Makefile respects the CC/CPPFLAGS/CFLAGS/LDFLAGS environment variables, which is one of the most common mistakes. Often smaller projects just [https://trac.macports.org/wiki/UsingTheRightCompiler hardcode the compiler] to `cc` or even `gcc`. This could be checked for in various ways. One option would be to overwrite Makefiles rules to verify the passed parameters. Another option would be to use a custom compiler script as `CC` that checks the flags in question are always passed to the compiler by the build system and match those given in the Portfile (or the defaults). Other binaries such as `cc`/`gcc` need to be shadowed and invocation must raise an error.
+
+These checks would be included as a new option in existing commands, for example `port build --check`, or a new phase `prebuildcheck` to be run before the `build` phase. This mode could be enabled automatically with a flag in `macports.conf` for MacPorts developers.
+
+You will definitely need to come up with more ideas to fill the whole summer.
+
+* Classification: Easy to Hard
+* Languages: Tcl
+* Potential mentors: (raimue)
+}}}
+
+
 === Ports ===
 
 ==== Qt 5 ==== #qt
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/SummerOfCode>
MacPorts <https://www.macports.org/>
Ports system for OS X

This is an automated message. Someone added your email address to be
notified of changes on 'SummerOfCode' page.
If it was not you, please report to .


More information about the macports-changes mailing list