This patch is a little hack to make qcad-2.0.5.0-1-community build with recent gcc releases and install cleanly in /opt/qcad. Usage: - extract qcad-2.0.5.0-1-community.src.tar.gz - cd qcad-2.0.5.0-1-community - patch -p0 < qcad-2.0.5.0-1-build.patch - cd scripts - sh build_qcad.sh noprepare notrans - sh install.sh - add /opt/qcad/bin to your PATH ~~~ Clifford Wolf (2009-07-09) --- ./qcadlib/src/engine/rs_system.cpp.orig 2005-11-22 12:52:36.000000000 +0100 +++ ./qcadlib/src/engine/rs_system.cpp 2009-07-09 10:04:54.000000000 +0200 @@ -270,6 +270,9 @@ /*RS_StringList dirList; + // FHS style: + dirList.append("/opt/qcad/share/"); + // Redhat style: dirList.append("/usr/share/" + appDirName); @@ -333,6 +336,9 @@ dirList.append(appDir + "/" + subDirectory); } + // FHS style: + dirList.append("/opt/qcad/share/" + subDirectory); + // Redhat style: dirList.append("/usr/share/" + appDirName + "/" + subDirectory); --- ./scripts/build_qcad.sh.orig 2005-11-22 12:27:33.000000000 +0100 +++ ./scripts/build_qcad.sh 2009-07-09 09:51:26.000000000 +0200 @@ -1,6 +1,22 @@ #!/bin/bash # $Id: build_qcad.sh 2488 2005-07-20 08:33:25Z andrew $ +for x in gcc g++; do + { + echo "#!/bin/bash" + echo "declare -a args" + echo "args=(\"\${args[@]}\" \"-include\" \"/usr/include/string.h\")" + echo "args=(\"\${args[@]}\" \"-include\" \"/usr/include/stdlib.h\")" + echo "args=(\"\${args[@]}\" \"-I$PWD/../qcadcmd/src/\")" + echo "for x; do [ \"\$x\" == \"-pedantic\" ] || args=(\"\${args[@]}\" \$x); done" + echo "echo \"PWD=\`pwd\`\" >&2; set -x" + echo "exec `which $x` \"\${args[@]}\"" + } > $x + chmod +x $x +done + +export PATH="$PWD:.:$PATH" + echo "build_qcad.sh" echo "Usage: ./build_qcad.sh [options]" echo "options:" --- ./scripts/install.sh.orig 2009-07-09 09:51:26.000000000 +0200 +++ ./scripts/install.sh 2009-07-09 10:03:10.000000000 +0200 @@ -0,0 +1,8 @@ +#!/bin/bash +set -x +mkdir -p /opt/qcad/bin +mkdir -p /opt/qcad/share +install ../qcad/qcad /opt/qcad/bin/qcad +for x in data doc fonts library machines patterns qm scripts; do + cp -r ../qcad/$x/. /opt/qcad/share/$x +done