diff --git a/x11-packages/fltk/00-cmake-fix-lib-mess.patch b/x11-packages/fltk/00-cmake-fix-lib-mess.patch new file mode 100644 index 000000000..62f2645b6 --- /dev/null +++ b/x11-packages/fltk/00-cmake-fix-lib-mess.patch @@ -0,0 +1,375 @@ +diff -ruN b/CMake/macros.cmake a/CMake/macros.cmake +--- b/CMake/macros.cmake 2019-03-03 09:40:23.000000000 +0100 ++++ a/CMake/macros.cmake 2019-03-10 21:58:32.895224605 +0100 +@@ -22,11 +22,7 @@ + ####################################################################### + macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) + +- if (${LIBTYPE} STREQUAL "SHARED") +- set (LIBRARY_NAME ${LIBNAME}_SHARED) +- else () +- set (LIBRARY_NAME ${LIBNAME}) +- endif (${LIBTYPE} STREQUAL "SHARED") ++ set (LIBRARY_NAME ${LIBNAME}_${LIBTYPE}) + + if (MSVC) + set (LIBRARY_NAME_DEBUG "${LIBRARY_NAME}d") +@@ -38,7 +34,7 @@ + + set_target_properties(${LIBRARY_NAME} + PROPERTIES +- OUTPUT_NAME ${LIBRARY_NAME} ++ OUTPUT_NAME ${LIBNAME} + DEBUG_OUTPUT_NAME ${LIBRARY_NAME_DEBUG} + CLEAN_DIRECT_OUTPUT TRUE + COMPILE_DEFINITIONS "FL_LIBRARY" +@@ -47,6 +43,7 @@ + if (${LIBTYPE} STREQUAL "SHARED") + set_target_properties(${LIBRARY_NAME} + PROPERTIES ++ OUTPUT_NAME ${LIBNAME} + VERSION ${FLTK_VERSION_FULL} + SOVERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR} + PREFIX "lib" # for MSVC static/shared coexistence +diff -ruN b/documentation/CMakeLists.txt a/documentation/CMakeLists.txt +--- b/documentation/CMakeLists.txt 2019-03-03 09:40:23.000000000 +0100 ++++ a/documentation/CMakeLists.txt 2019-03-10 22:40:51.077135317 +0100 +@@ -45,7 +45,7 @@ + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating HTML documentation" VERBATIM +- DEPENDS fltk ++ DEPENDS fltk_STATIC + ) + + endif(OPTION_BUILD_HTML_DOCUMENTATION) +@@ -92,7 +92,7 @@ + COMMAND cp -f latex/refman.pdf fltk.pdf + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating PDF documentation" VERBATIM +- DEPENDS fltk ++ DEPENDS fltk_STATIC + ) + + # add target 'pdf' +diff -ruN b/fluid/CMakeLists.txt a/fluid/CMakeLists.txt +--- b/fluid/CMakeLists.txt 2019-03-03 09:40:23.000000000 +0100 ++++ a/fluid/CMakeLists.txt 2019-03-10 22:09:52.482801651 +0100 +@@ -48,7 +48,7 @@ + add_executable(fluid WIN32 ${CPPFILES}) + endif(APPLE AND NOT OPTION_APPLE_X11) + +-target_link_libraries(fluid fltk fltk_images fltk_forms) ++target_link_libraries(fluid fltk_STATIC fltk_images_STATIC fltk_forms_STATIC) + + # install fluid + +diff -ruN b/src/CMakeLists.txt a/src/CMakeLists.txt +--- b/src/CMakeLists.txt 2019-03-03 09:40:23.000000000 +0100 ++++ a/src/CMakeLists.txt 2019-03-10 22:57:37.458302812 +0100 +@@ -246,7 +246,7 @@ + endif (WIN32) + + if (FLTK_HAVE_CAIRO) +- list(APPEND OPTIONAL_LIBS fltk_cairo ${PKG_CAIRO_LIBRARIES}) ++ list(APPEND OPTIONAL_LIBS fltk_cairo_STATIC ${PKG_CAIRO_LIBRARIES}) + ENDif (FLTK_HAVE_CAIRO) + + if (HAVE_XINERAMA) +@@ -275,41 +275,41 @@ + ####################################################################### + + FL_ADD_LIBRARY(fltk STATIC "${STATIC_FILES}") +-target_link_libraries(fltk ${OPTIONAL_LIBS}) ++target_link_libraries(fltk_STATIC ${OPTIONAL_LIBS}) + + ####################################################################### + + FL_ADD_LIBRARY(fltk_forms STATIC "${FLCPPFILES}") +-target_link_libraries(fltk_forms fltk) ++target_link_libraries(fltk_forms_STATIC fltk_STATIC) + + ####################################################################### + + FL_ADD_LIBRARY(fltk_images STATIC "${IMGCPPFILES}") +-target_link_libraries(fltk_images fltk) ++target_link_libraries(fltk_images_STATIC fltk_STATIC) + + if (OPTION_USE_SYSTEM_LIBJPEG) +- target_link_libraries(fltk_images ${FLTK_JPEG_LIBRARIES}) ++ target_link_libraries(fltk_images_STATIC ${FLTK_JPEG_LIBRARIES}) + else() +- target_link_libraries(fltk_images fltk_jpeg) ++ target_link_libraries(fltk_images_STATIC fltk_jpeg_STATIC) + endif (OPTION_USE_SYSTEM_LIBJPEG) + + if (OPTION_USE_SYSTEM_ZLIB) +- target_link_libraries(fltk_images ${FLTK_ZLIB_LIBRARIES}) ++ target_link_libraries(fltk_images_STATIC ${FLTK_ZLIB_LIBRARIES}) + else() +- target_link_libraries(fltk_images fltk_z) ++ target_link_libraries(fltk_images_STATIC fltk_z_STATIC) + endif (OPTION_USE_SYSTEM_ZLIB) + + if (OPTION_USE_SYSTEM_LIBPNG) +- target_link_libraries(fltk_images ${FLTK_PNG_LIBRARIES}) ++ target_link_libraries(fltk_images_STATIC ${FLTK_PNG_LIBRARIES}) + else() +- target_link_libraries(fltk_images fltk_png) ++ target_link_libraries(fltk_images_STATIC fltk_png_STATIC) + endif (OPTION_USE_SYSTEM_LIBPNG) + + ####################################################################### + + if (OPENGL_FOUND) + FL_ADD_LIBRARY(fltk_gl STATIC "${GLCPPFILES}") +- target_link_libraries(fltk_gl fltk ${OPENGL_LIBRARIES}) ++ target_link_libraries(fltk_gl_STATIC fltk_STATIC ${OPENGL_LIBRARIES}) + endif (OPENGL_FOUND) + + ####################################################################### +@@ -332,7 +332,7 @@ + + FL_ADD_LIBRARY(fltk_forms SHARED "${FLCPPFILES}") + if (MSVC) +- target_link_libraries(fltk_forms_SHARED fltk) ++ target_link_libraries(fltk_forms_SHARED fltk_SHARED) + else () + target_link_libraries(fltk_forms_SHARED fltk_SHARED) + endif (MSVC) +@@ -341,27 +341,27 @@ + + FL_ADD_LIBRARY(fltk_images SHARED "${IMGCPPFILES}") + if (MSVC) +- target_link_libraries(fltk_images_SHARED fltk) ++ target_link_libraries(fltk_images_SHARED fltk_SHARED) + else () + target_link_libraries(fltk_images_SHARED fltk_SHARED) + endif (MSVC) + + if (OPTION_USE_SYSTEM_LIBJPEG) +- target_link_libraries(fltk_images_SHARED ${FLTK_JPEG_LIBRARIES}) ++ target_link_libraries(fltk_images_SHARED ${FLTK_JPEG_LIBRARIES}) + else() +- target_link_libraries(fltk_images_SHARED fltk_jpeg_SHARED) ++ target_link_libraries(fltk_images_SHARED fltk_jpeg_SHARED) + endif (OPTION_USE_SYSTEM_LIBJPEG) + + if (OPTION_USE_SYSTEM_LIBPNG) +- target_link_libraries(fltk_images_SHARED ${FLTK_PNG_LIBRARIES}) ++ target_link_libraries(fltk_images_SHARED ${FLTK_PNG_LIBRARIES}) + else() +- target_link_libraries(fltk_images_SHARED fltk_png_SHARED) ++ target_link_libraries(fltk_images_SHARED fltk_png_SHARED) + endif (OPTION_USE_SYSTEM_LIBPNG) + + if (OPTION_USE_SYSTEM_ZLIB) +- target_link_libraries(fltk_images_SHARED ${FLTK_ZLIB_LIBRARIES}) ++ target_link_libraries(fltk_images_SHARED ${FLTK_ZLIB_LIBRARIES}) + else() +- target_link_libraries(fltk_images_SHARED fltk_z_SHARED) ++ target_link_libraries(fltk_images_SHARED fltk_z_SHARED) + endif (OPTION_USE_SYSTEM_ZLIB) + + ################################################################### +@@ -369,9 +369,9 @@ + if (OPENGL_FOUND) + FL_ADD_LIBRARY(fltk_gl SHARED "${GLCPPFILES}") + if (MSVC) +- target_link_libraries(fltk_gl_SHARED fltk ${OPENGL_LIBRARIES}) ++ target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) + else () +- target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) ++ target_link_libraries(fltk_gl_SHARED fltk_SHARED ${OPENGL_LIBRARIES}) + endif (MSVC) + endif (OPENGL_FOUND) + +diff -ruN b/test/CMakeLists.txt a/test/CMakeLists.txt +--- b/test/CMakeLists.txt 2019-03-03 09:40:23.000000000 +0100 ++++ a/test/CMakeLists.txt 2019-03-10 23:13:36.096519270 +0100 +@@ -25,108 +25,108 @@ + endif(APPLE AND NOT OPTION_APPLE_X11) + + ####################################################################### +-CREATE_EXAMPLE(adjuster adjuster.cxx fltk) +-CREATE_EXAMPLE(arc arc.cxx fltk) +-CREATE_EXAMPLE(animated animated.cxx fltk) +-CREATE_EXAMPLE(ask ask.cxx fltk) +-CREATE_EXAMPLE(bitmap bitmap.cxx fltk) ++CREATE_EXAMPLE(adjuster adjuster.cxx fltk_STATIC) ++CREATE_EXAMPLE(arc arc.cxx fltk_STATIC) ++CREATE_EXAMPLE(animated animated.cxx fltk_STATIC) ++CREATE_EXAMPLE(ask ask.cxx fltk_STATIC) ++CREATE_EXAMPLE(bitmap bitmap.cxx fltk_STATIC) + + set(BLOCKS_ICON "${CMAKE_CURRENT_SOURCE_DIR}/blocks.app/Contents/Resources/blocks.icns") +-CREATE_EXAMPLE(blocks "blocks.cxx;${BLOCKS_ICON}" "fltk;${AUDIOLIBS}") ++CREATE_EXAMPLE(blocks "blocks.cxx;${BLOCKS_ICON}" "fltk_STATIC;${AUDIOLIBS}") + +-CREATE_EXAMPLE(boxtype boxtype.cxx fltk) +-CREATE_EXAMPLE(browser browser.cxx fltk) +-CREATE_EXAMPLE(button button.cxx fltk) +-CREATE_EXAMPLE(buttons buttons.cxx fltk) ++CREATE_EXAMPLE(boxtype boxtype.cxx fltk_STATIC) ++CREATE_EXAMPLE(browser browser.cxx fltk_STATIC) ++CREATE_EXAMPLE(button button.cxx fltk_STATIC) ++CREATE_EXAMPLE(buttons buttons.cxx fltk_STATIC) + + set(CHECKERS_ICON "${CMAKE_CURRENT_SOURCE_DIR}/checkers.app/Contents/Resources/checkers.icns") +-CREATE_EXAMPLE(checkers "checkers.cxx;${CHECKERS_ICON}" fltk) ++CREATE_EXAMPLE(checkers "checkers.cxx;${CHECKERS_ICON}" fltk_STATIC) + +-CREATE_EXAMPLE(clock clock.cxx fltk) +-CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk;fltk_forms") +-CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk) +-CREATE_EXAMPLE(cursor cursor.cxx fltk) +-CREATE_EXAMPLE(curve curve.cxx fltk) ++CREATE_EXAMPLE(clock clock.cxx fltk_STATIC) ++CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk_STATIC;fltk_forms_STATIC") ++CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk_STATIC) ++CREATE_EXAMPLE(cursor cursor.cxx fltk_STATIC) ++CREATE_EXAMPLE(curve curve.cxx fltk_STATIC) + +-CREATE_EXAMPLE(demo "demo.cxx;demo.menu" fltk) ++CREATE_EXAMPLE(demo "demo.cxx;demo.menu" fltk_STATIC) + set_source_files_properties(demo.menu PROPERTIES MACOSX_PACKAGE_LOCATION Resources) + +-CREATE_EXAMPLE(device device.cxx fltk) +-CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk) ++CREATE_EXAMPLE(device device.cxx fltk_STATIC) ++CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk_STATIC) + +-CREATE_EXAMPLE(editor editor.cxx fltk) ++CREATE_EXAMPLE(editor editor.cxx fltk_STATIC) + set_target_properties(editor PROPERTIES + MACOSX_BUNDLE_INFO_PLIST "${PROJECT_SOURCE_DIR}/ide/Xcode4/plists/editor-Info.plist" + ) + +-CREATE_EXAMPLE(fast_slow fast_slow.fl fltk) +-CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images") +-CREATE_EXAMPLE(fonts fonts.cxx fltk) +-CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms") +-CREATE_EXAMPLE(hello hello.cxx fltk) +-CREATE_EXAMPLE(help help.cxx "fltk;fltk_images") +-CREATE_EXAMPLE(icon icon.cxx fltk) +-CREATE_EXAMPLE(iconize iconize.cxx fltk) +-CREATE_EXAMPLE(image image.cxx fltk) +-CREATE_EXAMPLE(inactive inactive.fl fltk) +-CREATE_EXAMPLE(input input.cxx fltk) +-CREATE_EXAMPLE(input_choice input_choice.cxx fltk) +-CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk) +-CREATE_EXAMPLE(label label.cxx "fltk;fltk_forms") +-CREATE_EXAMPLE(line_style line_style.cxx fltk) +-CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk) +-CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk) +-CREATE_EXAMPLE(menubar menubar.cxx fltk) +-CREATE_EXAMPLE(message message.cxx fltk) +-CREATE_EXAMPLE(minimum minimum.cxx fltk) +-CREATE_EXAMPLE(native-filechooser native-filechooser.cxx "fltk;fltk_images") +-CREATE_EXAMPLE(navigation navigation.cxx fltk) +-CREATE_EXAMPLE(output output.cxx "fltk;fltk_forms") +-CREATE_EXAMPLE(overlay overlay.cxx fltk) +-CREATE_EXAMPLE(pack pack.cxx fltk) +-CREATE_EXAMPLE(pixmap pixmap.cxx fltk) +-CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk;fltk_images") +-CREATE_EXAMPLE(preferences preferences.fl fltk) +-CREATE_EXAMPLE(offscreen offscreen.cxx fltk) +-CREATE_EXAMPLE(radio radio.fl fltk) +-CREATE_EXAMPLE(resize resize.fl fltk) +-CREATE_EXAMPLE(resizebox resizebox.cxx fltk) +-CREATE_EXAMPLE(rotated_text rotated_text.cxx fltk) +-CREATE_EXAMPLE(scroll scroll.cxx fltk) +-CREATE_EXAMPLE(subwindow subwindow.cxx fltk) ++CREATE_EXAMPLE(fast_slow fast_slow.fl fltk_STATIC) ++CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk_STATIC;fltk_images_STATIC") ++CREATE_EXAMPLE(fonts fonts.cxx fltk_STATIC) ++CREATE_EXAMPLE(forms forms.cxx "fltk_STATIC;fltk_forms_STATIC") ++CREATE_EXAMPLE(hello hello.cxx fltk_STATIC) ++CREATE_EXAMPLE(help help.cxx "fltk_STATIC;fltk_images_STATIC") ++CREATE_EXAMPLE(icon icon.cxx fltk_STATIC) ++CREATE_EXAMPLE(iconize iconize.cxx fltk_STATIC) ++CREATE_EXAMPLE(image image.cxx fltk_STATIC) ++CREATE_EXAMPLE(inactive inactive.fl fltk_STATIC) ++CREATE_EXAMPLE(input input.cxx fltk_STATIC) ++CREATE_EXAMPLE(input_choice input_choice.cxx fltk_STATIC) ++CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk_STATIC) ++CREATE_EXAMPLE(label label.cxx "fltk_STATIC;fltk_forms_STATIC") ++CREATE_EXAMPLE(line_style line_style.cxx fltk_STATIC) ++CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk_STATIC) ++CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk_STATIC) ++CREATE_EXAMPLE(menubar menubar.cxx fltk_STATIC) ++CREATE_EXAMPLE(message message.cxx fltk_STATIC) ++CREATE_EXAMPLE(minimum minimum.cxx fltk_STATIC) ++CREATE_EXAMPLE(native-filechooser native-filechooser.cxx "fltk_STATIC;fltk_images_STATIC") ++CREATE_EXAMPLE(navigation navigation.cxx fltk_STATIC) ++CREATE_EXAMPLE(output output.cxx "fltk_STATIC;fltk_forms_STATIC") ++CREATE_EXAMPLE(overlay overlay.cxx fltk_STATIC) ++CREATE_EXAMPLE(pack pack.cxx fltk_STATIC) ++CREATE_EXAMPLE(pixmap pixmap.cxx fltk_STATIC) ++CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk_STATIC;fltk_images_STATIC") ++CREATE_EXAMPLE(preferences preferences.fl fltk_STATIC) ++CREATE_EXAMPLE(offscreen offscreen.cxx fltk_STATIC) ++CREATE_EXAMPLE(radio radio.fl fltk_STATIC) ++CREATE_EXAMPLE(resize resize.fl fltk_STATIC) ++CREATE_EXAMPLE(resizebox resizebox.cxx fltk_STATIC) ++CREATE_EXAMPLE(rotated_text rotated_text.cxx fltk_STATIC) ++CREATE_EXAMPLE(scroll scroll.cxx fltk_STATIC) ++CREATE_EXAMPLE(subwindow subwindow.cxx fltk_STATIC) + + set(SUDOKU_ICON "${CMAKE_CURRENT_SOURCE_DIR}/sudoku.app/Contents/Resources/sudoku.icns") +-CREATE_EXAMPLE(sudoku "sudoku.cxx;${SUDOKU_ICON}" "fltk;fltk_images;${AUDIOLIBS}") ++CREATE_EXAMPLE(sudoku "sudoku.cxx;${SUDOKU_ICON}" "fltk_STATIC;fltk_images_STATIC;${AUDIOLIBS}") + +-CREATE_EXAMPLE(symbols symbols.cxx fltk) +-CREATE_EXAMPLE(tabs tabs.fl fltk) +-CREATE_EXAMPLE(table table.cxx fltk) +-CREATE_EXAMPLE(threads threads.cxx fltk) +-CREATE_EXAMPLE(tile tile.cxx fltk) +-CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk) +-CREATE_EXAMPLE(tree tree.fl fltk) +-CREATE_EXAMPLE(twowin twowin.cxx fltk) +-CREATE_EXAMPLE(utf8 utf8.cxx fltk) +-CREATE_EXAMPLE(valuators valuators.fl fltk) +-CREATE_EXAMPLE(unittests unittests.cxx fltk) +-CREATE_EXAMPLE(windowfocus windowfocus.cxx fltk) ++CREATE_EXAMPLE(symbols symbols.cxx fltk_STATIC) ++CREATE_EXAMPLE(tabs tabs.fl fltk_STATIC) ++CREATE_EXAMPLE(table table.cxx fltk_STATIC) ++CREATE_EXAMPLE(threads threads.cxx fltk_STATIC) ++CREATE_EXAMPLE(tile tile.cxx fltk_STATIC) ++CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk_STATIC) ++CREATE_EXAMPLE(tree tree.fl fltk_STATIC) ++CREATE_EXAMPLE(twowin twowin.cxx fltk_STATIC) ++CREATE_EXAMPLE(utf8 utf8.cxx fltk_STATIC) ++CREATE_EXAMPLE(valuators valuators.fl fltk_STATIC) ++CREATE_EXAMPLE(unittests unittests.cxx fltk_STATIC) ++CREATE_EXAMPLE(windowfocus windowfocus.cxx fltk_STATIC) + +-CREATE_EXAMPLE(fltk-versions ../examples/fltk-versions.cxx fltk) ++CREATE_EXAMPLE(fltk-versions ../examples/fltk-versions.cxx fltk_STATIC) + + # OpenGL demos... + if(OPENGL_FOUND) +-CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk;fltk_gl") +-CREATE_EXAMPLE(cube cube.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") +-CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk;fltk_gl") +-CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk;fltk_gl") +-CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") +-CREATE_EXAMPLE(gl_overlay gl_overlay.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") +-CREATE_EXAMPLE(shape shape.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") ++CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk_STATIC;fltk_gl_STATIC") ++CREATE_EXAMPLE(cube cube.cxx "fltk_STATIC;fltk_gl_STATIC;${OPENGL_LIBRARIES}") ++CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk_STATIC;fltk_gl_STATIC") ++CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk_STATIC;fltk_gl_STATIC") ++CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk_STATIC;fltk_gl_STATIC;${OPENGL_LIBRARIES}") ++CREATE_EXAMPLE(gl_overlay gl_overlay.cxx "fltk_STATIC;fltk_gl_STATIC;${OPENGL_LIBRARIES}") ++CREATE_EXAMPLE(shape shape.cxx "fltk_STATIC;fltk_gl_STATIC;${OPENGL_LIBRARIES}") + endif(OPENGL_FOUND) + + # Cairo demo + if(FLTK_HAVE_CAIRO) +- CREATE_EXAMPLE(cairo_test cairo_test.cxx "fltk;fltk_cairo") ++ CREATE_EXAMPLE(cairo_test cairo_test.cxx "fltk_STATIC;fltk_cairo_STATIC") + endif(FLTK_HAVE_CAIRO) + + # We need some support files for the demo programs: diff --git a/x11-packages/fltk/fltk-1.3.4_Makefile.patch b/x11-packages/fltk/01-no-tests.patch similarity index 100% rename from x11-packages/fltk/fltk-1.3.4_Makefile.patch rename to x11-packages/fltk/01-no-tests.patch diff --git a/x11-packages/fltk/fltk-1.3.3_fltk-config.in.patch b/x11-packages/fltk/02-fix-fltk-config.patch similarity index 100% rename from x11-packages/fltk/fltk-1.3.3_fltk-config.in.patch rename to x11-packages/fltk/02-fix-fltk-config.patch diff --git a/x11-packages/fltk/03-fix-hardcoded-paths.patch b/x11-packages/fltk/03-fix-hardcoded-paths.patch new file mode 100644 index 000000000..69b7030f9 --- /dev/null +++ b/x11-packages/fltk/03-fix-hardcoded-paths.patch @@ -0,0 +1,258 @@ +diff -uNr fltk-1.3.5/fluid/ExternalCodeEditor_UNIX.cxx fltk-1.3.5.mod/fluid/ExternalCodeEditor_UNIX.cxx +--- fltk-1.3.5/fluid/ExternalCodeEditor_UNIX.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/fluid/ExternalCodeEditor_UNIX.cxx 2019-05-19 17:18:25.294720046 +0300 +@@ -214,8 +214,8 @@ + // Returns pointer to static memory. + // + const char* ExternalCodeEditor::tmpdir_name() { +- static char dirname[100]; +- snprintf(dirname, sizeof(dirname), "/tmp/.fluid-%ld", (long)getpid()); ++ static char dirname[100] = {0}; ++ snprintf(dirname, sizeof(dirname), "/data/data/com.termux/files/usr/tmp/.fluid-%ld", (long)getpid()); + return dirname; + } + +diff -uNr fltk-1.3.5/src/Fl_File_Browser.cxx fltk-1.3.5.mod/src/Fl_File_Browser.cxx +--- fltk-1.3.5/src/Fl_File_Browser.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/Fl_File_Browser.cxx 2019-05-19 17:18:25.295720052 +0300 +@@ -624,13 +624,16 @@ + // Open the file that contains a list of mounted filesystems... + // + +- mtab = fl_fopen("/etc/mnttab", "r"); // Fairly standard ++ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/mnttab", "r"); // Fairly standard + if (mtab == NULL) +- mtab = fl_fopen("/etc/mtab", "r"); // More standard ++ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/mtab", "r"); // More standard + if (mtab == NULL) +- mtab = fl_fopen("/etc/fstab", "r"); // Otherwise fallback to full list ++ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/fstab", "r"); // Otherwise fallback to full list + if (mtab == NULL) +- mtab = fl_fopen("/etc/vfstab", "r"); // Alternate full list file ++ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/vfstab", "r"); // Alternate full list file ++ ++ if (mtab == NULL) ++ mtab = fl_fopen("/proc/mounts", "r"); // Try to use /proc/mounts + + if (mtab != NULL) + { +diff -uNr fltk-1.3.5/src/Fl_File_Icon2.cxx fltk-1.3.5.mod/src/Fl_File_Icon2.cxx +--- fltk-1.3.5/src/Fl_File_Icon2.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/Fl_File_Icon2.cxx 2019-05-19 17:18:25.297720063 +0300 +@@ -677,9 +677,9 @@ + if (!kdedir) { + // Figure out where KDE is installed... + if ((kdedir = getenv("KDEDIR")) == NULL) { +- if (!access("/opt/kde", F_OK)) kdedir = "/opt/kde"; +- else if (!access("/usr/local/share/mimelnk", F_OK)) kdedir = "/usr/local"; +- else kdedir = "/usr"; ++ if (!access("/data/data/com.termux/files/usr/opt/kde", F_OK)) kdedir = "/data/data/com.termux/files/usr/opt/kde"; ++ else if (!access("/data/data/com.termux/files/usr/share/mimelnk", F_OK)) kdedir = "/data/data/com.termux/files/usr"; ++ else kdedir = "/data/data/com.termux/files/usr"; + } + } + +@@ -715,66 +715,66 @@ + + snprintf(filename, sizeof(filename), "%s/share/mimelnk", kdedir); + load_kde_icons(filename, icondir); +- } else if (!access("/usr/share/icons/folder.xpm", F_OK)) { ++ } else if (!access("/data/data/com.termux/files/usr/share/icons/folder.xpm", F_OK)) { + // Load GNOME icons... + icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/share/icons/page.xpm"); ++ icon->load_image("/data/data/com.termux/files/usr/share/icons/page.xpm"); + + icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); +- icon->load_image("/usr/share/icons/folder.xpm"); +- } else if (!access("/usr/dt/appconfig/icons", F_OK)) { ++ icon->load_image("/data/data/com.termux/files/usr/share/icons/folder.xpm"); ++ } else if (!access("/data/data/com.termux/files/usr/dt/appconfig/icons", F_OK)) { + // Load CDE icons... + icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/dt/appconfig/icons/C/Dtdata.m.pm"); ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtdata.m.pm"); + + icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); +- icon->load_image("/usr/dt/appconfig/icons/C/DtdirB.m.pm"); ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/DtdirB.m.pm"); + + icon = new Fl_File_Icon("core", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/dt/appconfig/icons/C/Dtcore.m.pm"); ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtcore.m.pm"); + + icon = new Fl_File_Icon("*.{bmp|bw|gif|jpg|pbm|pcd|pgm|ppm|png|ras|rgb|tif|xbm|xpm}", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/dt/appconfig/icons/C/Dtimage.m.pm"); ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtimage.m.pm"); + + icon = new Fl_File_Icon("*.{eps|pdf|ps}", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/dt/appconfig/icons/C/Dtps.m.pm"); ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtps.m.pm"); + + icon = new Fl_File_Icon("*.ppd", Fl_File_Icon::PLAIN); +- icon->load_image("/usr/dt/appconfig/icons/C/DtPrtpr.m.pm"); +- } else if (!access("/usr/lib/filetype", F_OK)) { ++ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/DtPrtpr.m.pm"); ++ } else if (!access("/data/data/com.termux/files/usr/lib/filetype", F_OK)) { + // Load SGI icons... + icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/iconlib/generic.doc.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.doc.fti"); + + icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); +- icon->load_fti("/usr/lib/filetype/iconlib/generic.folder.closed.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.folder.closed.fti"); + + icon = new Fl_File_Icon("core", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/default/iconlib/CoreFile.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/default/iconlib/CoreFile.fti"); + + icon = new Fl_File_Icon("*.{bmp|bw|gif|jpg|pbm|pcd|pgm|ppm|png|ras|rgb|tif|xbm|xpm}", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/system/iconlib/ImageFile.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/ImageFile.fti"); + +- if (!access("/usr/lib/filetype/install/iconlib/acroread.doc.fti", F_OK)) { ++ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/acroread.doc.fti", F_OK)) { + icon = new Fl_File_Icon("*.{eps|ps}", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); + + icon = new Fl_File_Icon("*.pdf", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/install/iconlib/acroread.doc.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/acroread.doc.fti"); + } else { + icon = new Fl_File_Icon("*.{eps|pdf|ps}", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); + } + +- if (!access("/usr/lib/filetype/install/iconlib/html.fti", F_OK)) { ++ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/html.fti", F_OK)) { + icon = new Fl_File_Icon("*.{htm|html|shtml}", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/iconlib/generic.doc.fti"); +- icon->load_fti("/usr/lib/filetype/install/iconlib/html.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.doc.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/html.fti"); + } + +- if (!access("/usr/lib/filetype/install/iconlib/color.ps.idle.fti", F_OK)) { ++ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/color.ps.idle.fti", F_OK)) { + icon = new Fl_File_Icon("*.ppd", Fl_File_Icon::PLAIN); +- icon->load_fti("/usr/lib/filetype/install/iconlib/color.ps.idle.fti"); ++ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/color.ps.idle.fti"); + } + } else { + // Create the default icons... +diff -uNr fltk-1.3.5/src/fl_open_uri.cxx fltk-1.3.5.mod/src/fl_open_uri.cxx +--- fltk-1.3.5/src/fl_open_uri.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/fl_open_uri.cxx 2019-05-19 17:18:25.298720069 +0300 +@@ -275,7 +275,7 @@ + *end; // End of filename buffer + + +- if ((path = getenv("PATH")) == NULL) path = "/bin:/usr/bin"; ++ if ((path = getenv("PATH")) == NULL) path = "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/system/xbin:/system/bin"; + + for (ptr = filename, end = filename + filesize - 1; *path; path ++) { + if (*path == ':') { +diff -uNr fltk-1.3.5/src/Fl_Preferences.cxx fltk-1.3.5.mod/src/Fl_Preferences.cxx +--- fltk-1.3.5/src/Fl_Preferences.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/Fl_Preferences.cxx 2019-05-19 17:18:25.299720075 +0300 +@@ -963,7 +963,8 @@ + vendor_(0L), + application_(0L) { + +- char filename[ FL_PATH_MAX ]; filename[0] = 0; ++ char filename[ FL_PATH_MAX ] = {0}; ++ + #ifdef WIN32 + # define FLPREFS_RESOURCE "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" + # define FLPREFS_RESOURCEW L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" +@@ -1049,7 +1050,7 @@ + break; + } + case SYSTEM: +- strcpy(filename, "/etc/fltk/"); ++ strcpy(filename, "/data/data/com.termux/files/usr/etc/fltk/"); + break; + } + snprintf(filename + strlen(filename), sizeof(filename) - strlen(filename), +@@ -1162,20 +1163,6 @@ + fprintf( f, "; application: %s\n", application_ ); + prefs_->node->write( f ); + fclose( f ); +-#if !(defined(__APPLE__) || defined(WIN32)) +- // unix: make sure that system prefs are user-readable +- if (strncmp(filename_, "/etc/fltk/", 10) == 0) { +- char *p; +- p = filename_ + 9; +- do { // for each directory to the pref file +- *p = 0; +- fl_chmod(filename_, 0755); // rwxr-xr-x +- *p = '/'; +- p = strchr(p+1, '/'); +- } while (p); +- fl_chmod(filename_, 0644); // rw-r--r-- +- } +-#endif + return 0; + } + +@@ -1191,12 +1178,6 @@ + if ( !s ) return 0; + *s = 0; + char ret = fl_make_path( path ); +-#if !(defined(__APPLE__) || defined(WIN32)) +- // unix: make sure that system prefs dir. is user-readable +- if (strncmp(path, "/etc/fltk/", 10) == 0) { +- fl_chmod(path, 0755); // rwxr-xr-x +- } +-#endif + strcpy( s, "/" ); + return ret; + } +diff -uNr fltk-1.3.5/src/Fl_x.cxx fltk-1.3.5.mod/src/Fl_x.cxx +--- fltk-1.3.5/src/Fl_x.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/Fl_x.cxx 2019-05-19 17:18:25.301720087 +0300 +@@ -1481,9 +1481,9 @@ + if (!fl_selection_requestor) return 0; + if (Fl::e_clipboard_type == Fl::clipboard_image) { + if (bytesread == 0) return 0; +- static char tmp_fname[21]; ++ static char tmp_fname[52] = {0}; + static Fl_Shared_Image *shared = 0; +- strcpy(tmp_fname, "/tmp/clipboardXXXXXX"); ++ strcpy(tmp_fname, "/data/data/com.termux/files/usr/tmp/clipboardXXXXXX"); + int fd = mkstemp(tmp_fname); + if (fd == -1) return 0; + uchar *p = sn_buffer; ssize_t towrite = bytesread, written; +diff -uNr fltk-1.3.5/src/print_panel.cxx fltk-1.3.5.mod/src/print_panel.cxx +--- fltk-1.3.5/src/print_panel.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/print_panel.cxx 2019-05-19 17:18:25.302720092 +0300 +@@ -533,7 +533,7 @@ + + defname[0] = '\0'; + // get names of all printers and of default one +- if ((lpstat = popen("LC_MESSAGES=C LANG=C /bin/sh -c '(lpstat -p -d ) 2>&-'", "r")) != NULL) { // try first with SystemV printing system ++ if ((lpstat = popen("LC_MESSAGES=C LANG=C /data/data/com.termux/files/usr/bin/sh -c '(lpstat -p -d ) 2>&-'", "r")) != NULL) { // try first with SystemV printing system + while (fgets(line, sizeof(line), lpstat)) { + if (!strncmp(line, "printer ", 8) && + sscanf(line + 8, "%s", name) == 1) { +@@ -550,7 +550,7 @@ + pclose(lpstat); + } + +- if (print_choice->size() == 2 && (lpstat = fopen("/etc/printcap", "r"))) { // try next with BSD printing system ++ if (print_choice->size() == 2 && (lpstat = fopen("/data/data/com.termux/files/usr/etc/printcap", "r"))) { // try next with BSD printing system + while (fgets(line, sizeof(line),lpstat)) { // get names of all known printers + if (*line == '#' || (p = strchr(line, '|')) == NULL) continue; + *p = 0; +@@ -593,7 +593,7 @@ + status[0] = 0; + if (print_choice->value()) { + strcpy(status, "printer status unavailable"); +- snprintf(command, sizeof(command), "/bin/sh -c \"(lpstat -p '%s' ) 2>&-\" ", printer); // try first with SystemV printing system ++ snprintf(command, sizeof(command), "/data/data/com.termux/files/usr/bin/sh -c \"(lpstat -p '%s' ) 2>&-\" ", printer); // try first with SystemV printing system + if ((lpstat = popen(command, "r")) != NULL) { + if (fgets(status, sizeof(status), lpstat) == 0) { // if no reply + pclose(lpstat); diff --git a/x11-packages/fltk/04-fix-libxrandr-dlopen.patch b/x11-packages/fltk/04-fix-libxrandr-dlopen.patch new file mode 100644 index 000000000..014a6defd --- /dev/null +++ b/x11-packages/fltk/04-fix-libxrandr-dlopen.patch @@ -0,0 +1,28 @@ +diff -uNr fltk-1.3.5/src/Fl_x.cxx fltk-1.3.5.mod/src/Fl_x.cxx +--- fltk-1.3.5/src/Fl_x.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/Fl_x.cxx 2019-05-19 17:30:59.885700620 +0300 +@@ -758,8 +758,8 @@ + #endif + + #if USE_XRANDR +- void *libxrandr_addr = dlopen("libXrandr.so.2", RTLD_LAZY); +- if (!libxrandr_addr) libxrandr_addr = dlopen("libXrandr.so", RTLD_LAZY); ++ void *libxrandr_addr = dlopen("libXrandr.so", RTLD_LAZY); ++ + if (libxrandr_addr) { + int error_base; + typedef Bool (*XRRQueryExtension_type)(Display*, int*, int*); +diff -uNr fltk-1.3.5/src/screen_xywh.cxx fltk-1.3.5.mod/src/screen_xywh.cxx +--- fltk-1.3.5/src/screen_xywh.cxx 2019-03-03 10:40:23.000000000 +0200 ++++ fltk-1.3.5.mod/src/screen_xywh.cxx 2019-05-19 17:30:32.556510789 +0300 +@@ -176,8 +176,8 @@ + + static XRRSizes_type XRRSizes_f = NULL; + if (!XRRSizes_f) { +- void *libxrandr_addr = dlopen("libXrandr.so.2", RTLD_LAZY); +- if (!libxrandr_addr) libxrandr_addr = dlopen("libXrandr.so", RTLD_LAZY); ++ void *libxrandr_addr = dlopen("libXrandr.so", RTLD_LAZY); ++ + # ifdef __APPLE_CC__ // allows testing on Darwin + X11 + if (!libxrandr_addr) libxrandr_addr = dlopen("/opt/X11/lib/libXrandr.dylib", RTLD_LAZY); + # endif diff --git a/x11-packages/fltk/build.sh b/x11-packages/fltk/build.sh index 42a316585..16e8764c9 100644 --- a/x11-packages/fltk/build.sh +++ b/x11-packages/fltk/build.sh @@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.fltk.org/ TERMUX_PKG_DESCRIPTION="Graphical user interface toolkit for X" TERMUX_PKG_LICENSE="LGPL-2.0" TERMUX_PKG_MAINTAINER="Leonid Plyushch " -TERMUX_PKG_VERSION=1.3.4.2 -TERMUX_PKG_REVISION=6 -TERMUX_PKG_SRCURL=https://www.fltk.org/pub/fltk/${TERMUX_PKG_VERSION/.2/}/fltk-${TERMUX_PKG_VERSION/.2/-2}-source.tar.gz -TERMUX_PKG_SHA256=25d349c18c99508737d48f225a2eb26a43338f9247551cab72a317fa42cda910 +TERMUX_PKG_VERSION=1.3.5 +TERMUX_PKG_SRCURL=https://www.fltk.org/pub/fltk/${TERMUX_PKG_VERSION}/fltk-${TERMUX_PKG_VERSION}-source.tar.gz +TERMUX_PKG_SHA256=8729b2a055f38c1636ba20f749de0853384c1d3e9d1a6b8d4d1305143e115702 TERMUX_PKG_DEPENDS="fontconfig, glu, libc++, libjpeg-turbo, libpng, libx11, libxcursor, libxext, libxfixes, libxft, libxinerama, libxrender, mesa, zlib" TERMUX_PKG_BUILD_IN_SRC=true diff --git a/x11-packages/fltk/fltk-1.3.4_fluid_ExternalCodeEditor_UNIX.cxx.patch b/x11-packages/fltk/fltk-1.3.4_fluid_ExternalCodeEditor_UNIX.cxx.patch deleted file mode 100644 index b0d121ab9..000000000 --- a/x11-packages/fltk/fltk-1.3.4_fluid_ExternalCodeEditor_UNIX.cxx.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -uNr fltk-1.3.4/fluid/ExternalCodeEditor_UNIX.cxx fltk-1.3.4.mod/fluid/ExternalCodeEditor_UNIX.cxx ---- fltk-1.3.4/fluid/ExternalCodeEditor_UNIX.cxx 2016-08-16 23:42:22.000000000 +0300 -+++ fltk-1.3.4.mod/fluid/ExternalCodeEditor_UNIX.cxx 2017-12-10 15:15:58.522896625 +0200 -@@ -214,8 +214,8 @@ - // Returns pointer to static memory. - // - const char* ExternalCodeEditor::tmpdir_name() { -- static char dirname[100]; -- snprintf(dirname, sizeof(dirname), "/tmp/.fluid-%ld", (long)getpid()); -+ static char dirname[100] = {0}; -+ snprintf(dirname, sizeof(dirname), "/data/data/com.termux/files/usr/tmp/.fluid-%ld", (long)getpid()); - return dirname; - } - diff --git a/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Browser.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Browser.cxx.patch deleted file mode 100644 index 317a86903..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Browser.cxx.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -uNr fltk-1.3.4/src/Fl_File_Browser.cxx fltk-1.3.4.mod/src/Fl_File_Browser.cxx ---- fltk-1.3.4/src/Fl_File_Browser.cxx 2016-10-19 08:55:03.000000000 +0300 -+++ fltk-1.3.4.mod/src/Fl_File_Browser.cxx 2017-12-10 15:19:04.555072795 +0200 -@@ -624,13 +624,16 @@ - // Open the file that contains a list of mounted filesystems... - // - -- mtab = fl_fopen("/etc/mnttab", "r"); // Fairly standard -+ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/mnttab", "r"); // Fairly standard - if (mtab == NULL) -- mtab = fl_fopen("/etc/mtab", "r"); // More standard -+ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/mtab", "r"); // More standard - if (mtab == NULL) -- mtab = fl_fopen("/etc/fstab", "r"); // Otherwise fallback to full list -+ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/fstab", "r"); // Otherwise fallback to full list - if (mtab == NULL) -- mtab = fl_fopen("/etc/vfstab", "r"); // Alternate full list file -+ mtab = fl_fopen("/data/data/com.termux/files/usr/etc/vfstab", "r"); // Alternate full list file -+ -+ if (mtab == NULL) -+ mtab = fl_fopen("/proc/mounts", "r"); // Try to use /proc/mounts - - if (mtab != NULL) - { diff --git a/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Icon2.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Icon2.cxx.patch deleted file mode 100644 index 30040bd60..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_Fl_File_Icon2.cxx.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff -uNr fltk-1.3.4/src/Fl_File_Icon2.cxx fltk-1.3.4.mod/src/Fl_File_Icon2.cxx ---- fltk-1.3.4/src/Fl_File_Icon2.cxx 2016-10-14 19:35:44.000000000 +0300 -+++ fltk-1.3.4.mod/src/Fl_File_Icon2.cxx 2017-12-10 15:33:40.275018367 +0200 -@@ -677,9 +677,9 @@ - if (!kdedir) { - // Figure out where KDE is installed... - if ((kdedir = getenv("KDEDIR")) == NULL) { -- if (!access("/opt/kde", F_OK)) kdedir = "/opt/kde"; -- else if (!access("/usr/local/share/mimelnk", F_OK)) kdedir = "/usr/local"; -- else kdedir = "/usr"; -+ if (!access("/data/data/com.termux/files/usr/opt/kde", F_OK)) kdedir = "/data/data/com.termux/files/usr/opt/kde"; -+ else if (!access("/data/data/com.termux/files/usr/share/mimelnk", F_OK)) kdedir = "/data/data/com.termux/files/usr"; -+ else kdedir = "/data/data/com.termux/files/usr"; - } - } - -@@ -715,66 +715,66 @@ - - snprintf(filename, sizeof(filename), "%s/share/mimelnk", kdedir); - load_kde_icons(filename, icondir); -- } else if (!access("/usr/share/icons/folder.xpm", F_OK)) { -+ } else if (!access("/data/data/com.termux/files/usr/share/icons/folder.xpm", F_OK)) { - // Load GNOME icons... - icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/share/icons/page.xpm"); -+ icon->load_image("/data/data/com.termux/files/usr/share/icons/page.xpm"); - - icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); -- icon->load_image("/usr/share/icons/folder.xpm"); -- } else if (!access("/usr/dt/appconfig/icons", F_OK)) { -+ icon->load_image("/data/data/com.termux/files/usr/share/icons/folder.xpm"); -+ } else if (!access("/data/data/com.termux/files/usr/dt/appconfig/icons", F_OK)) { - // Load CDE icons... - icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/dt/appconfig/icons/C/Dtdata.m.pm"); -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtdata.m.pm"); - - icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); -- icon->load_image("/usr/dt/appconfig/icons/C/DtdirB.m.pm"); -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/DtdirB.m.pm"); - - icon = new Fl_File_Icon("core", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/dt/appconfig/icons/C/Dtcore.m.pm"); -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtcore.m.pm"); - - icon = new Fl_File_Icon("*.{bmp|bw|gif|jpg|pbm|pcd|pgm|ppm|png|ras|rgb|tif|xbm|xpm}", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/dt/appconfig/icons/C/Dtimage.m.pm"); -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtimage.m.pm"); - - icon = new Fl_File_Icon("*.{eps|pdf|ps}", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/dt/appconfig/icons/C/Dtps.m.pm"); -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/Dtps.m.pm"); - - icon = new Fl_File_Icon("*.ppd", Fl_File_Icon::PLAIN); -- icon->load_image("/usr/dt/appconfig/icons/C/DtPrtpr.m.pm"); -- } else if (!access("/usr/lib/filetype", F_OK)) { -+ icon->load_image("/data/data/com.termux/files/usr/dt/appconfig/icons/C/DtPrtpr.m.pm"); -+ } else if (!access("/data/data/com.termux/files/usr/lib/filetype", F_OK)) { - // Load SGI icons... - icon = new Fl_File_Icon("*", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/iconlib/generic.doc.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.doc.fti"); - - icon = new Fl_File_Icon("*", Fl_File_Icon::DIRECTORY); -- icon->load_fti("/usr/lib/filetype/iconlib/generic.folder.closed.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.folder.closed.fti"); - - icon = new Fl_File_Icon("core", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/default/iconlib/CoreFile.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/default/iconlib/CoreFile.fti"); - - icon = new Fl_File_Icon("*.{bmp|bw|gif|jpg|pbm|pcd|pgm|ppm|png|ras|rgb|tif|xbm|xpm}", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/system/iconlib/ImageFile.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/ImageFile.fti"); - -- if (!access("/usr/lib/filetype/install/iconlib/acroread.doc.fti", F_OK)) { -+ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/acroread.doc.fti", F_OK)) { - icon = new Fl_File_Icon("*.{eps|ps}", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); - - icon = new Fl_File_Icon("*.pdf", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/install/iconlib/acroread.doc.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/acroread.doc.fti"); - } else { - icon = new Fl_File_Icon("*.{eps|pdf|ps}", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/system/iconlib/PostScriptFile.closed.fti"); - } - -- if (!access("/usr/lib/filetype/install/iconlib/html.fti", F_OK)) { -+ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/html.fti", F_OK)) { - icon = new Fl_File_Icon("*.{htm|html|shtml}", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/iconlib/generic.doc.fti"); -- icon->load_fti("/usr/lib/filetype/install/iconlib/html.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/iconlib/generic.doc.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/html.fti"); - } - -- if (!access("/usr/lib/filetype/install/iconlib/color.ps.idle.fti", F_OK)) { -+ if (!access("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/color.ps.idle.fti", F_OK)) { - icon = new Fl_File_Icon("*.ppd", Fl_File_Icon::PLAIN); -- icon->load_fti("/usr/lib/filetype/install/iconlib/color.ps.idle.fti"); -+ icon->load_fti("/data/data/com.termux/files/usr/lib/filetype/install/iconlib/color.ps.idle.fti"); - } - } else { - // Create the default icons... diff --git a/x11-packages/fltk/fltk-1.3.4_src_Fl_Native_File_Chooser_GTK.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_Fl_Native_File_Chooser_GTK.cxx.patch deleted file mode 100644 index 2b08ce15e..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_Fl_Native_File_Chooser_GTK.cxx.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./src/Fl_Native_File_Chooser_GTK.cxx 2015-12-13 15:56:09.000000000 +0530 -+++ ../Fl_Native_File_Chooser_GTK.cxx 2017-04-30 12:20:01.391541825 +0530 -@@ -684,7 +684,7 @@ - return; - } - -- char *pc_dl_error; // used to report errors by the GET_SYM macro... -+ const char *pc_dl_error; // used to report errors by the GET_SYM macro... - // items we need from GLib - GET_SYM(g_free, ptr_glib); - GET_SYM(g_slist_nth_data, ptr_glib); diff --git a/x11-packages/fltk/fltk-1.3.4_src_Fl_Preferences.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_Fl_Preferences.cxx.patch deleted file mode 100644 index 6b4c7bd73..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_Fl_Preferences.cxx.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -uNr fltk-1.3.4/src/Fl_Preferences.cxx fltk-1.3.4.mod/src/Fl_Preferences.cxx ---- fltk-1.3.4/src/Fl_Preferences.cxx 2015-04-25 00:25:30.000000000 +0300 -+++ fltk-1.3.4.mod/src/Fl_Preferences.cxx 2017-12-10 15:27:01.280525349 +0200 -@@ -963,7 +963,8 @@ - vendor_(0L), - application_(0L) { - -- char filename[ FL_PATH_MAX ]; filename[0] = 0; -+ char filename[ FL_PATH_MAX ] = {0}; -+ - #ifdef WIN32 - # define FLPREFS_RESOURCE "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" - # define FLPREFS_RESOURCEW L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" -@@ -1049,7 +1050,7 @@ - break; - } - case SYSTEM: -- strcpy(filename, "/etc/fltk/"); -+ strcpy(filename, "/data/data/com.termux/files/usr/etc/fltk/"); - break; - } - snprintf(filename + strlen(filename), sizeof(filename) - strlen(filename), -@@ -1162,20 +1163,6 @@ - fprintf( f, "; application: %s\n", application_ ); - prefs_->node->write( f ); - fclose( f ); --#if !(defined(__APPLE__) || defined(WIN32)) -- // unix: make sure that system prefs are user-readable -- if (strncmp(filename_, "/etc/fltk/", 10) == 0) { -- char *p; -- p = filename_ + 9; -- do { // for each directory to the pref file -- *p = 0; -- fl_chmod(filename_, 0755); // rwxr-xr-x -- *p = '/'; -- p = strchr(p+1, '/'); -- } while (p); -- fl_chmod(filename_, 0644); // rw-r--r-- -- } --#endif - return 0; - } - -@@ -1191,12 +1178,6 @@ - if ( !s ) return 0; - *s = 0; - char ret = fl_make_path( path ); --#if !(defined(__APPLE__) || defined(WIN32)) -- // unix: make sure that system prefs dir. is user-readable -- if (strncmp(path, "/etc/fltk/", 10) == 0) { -- fl_chmod(path, 0755); // rwxr-xr-x -- } --#endif - strcpy( s, "/" ); - return ret; - } diff --git a/x11-packages/fltk/fltk-1.3.4_src_Fl_x.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_Fl_x.cxx.patch deleted file mode 100644 index 6fbfc0d6c..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_Fl_x.cxx.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -uNr fltk-1.3.4/src/Fl_x.cxx fltk-1.3.4.mod/src/Fl_x.cxx ---- fltk-1.3.4/src/Fl_x.cxx 2016-10-14 19:35:44.000000000 +0300 -+++ fltk-1.3.4.mod/src/Fl_x.cxx 2017-12-10 15:13:22.701039128 +0200 -@@ -1481,9 +1481,9 @@ - if (!fl_selection_requestor) return 0; - if (Fl::e_clipboard_type == Fl::clipboard_image) { - if (bytesread == 0) return 0; -- static char tmp_fname[21]; -+ static char tmp_fname[52] = {0}; - static Fl_Shared_Image *shared = 0; -- strcpy(tmp_fname, "/tmp/clipboardXXXXXX"); -+ strcpy(tmp_fname, "/data/data/com.termux/files/usr/tmp/clipboardXXXXXX"); - int fd = mkstemp(tmp_fname); - if (fd == -1) return 0; - uchar *p = sn_buffer; ssize_t towrite = bytesread, written; diff --git a/x11-packages/fltk/fltk-1.3.4_src_fl_open_uri.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_fl_open_uri.cxx.patch deleted file mode 100644 index a36c429be..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_fl_open_uri.cxx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr fltk-1.3.4/src/fl_open_uri.cxx fltk-1.3.4.mod/src/fl_open_uri.cxx ---- fltk-1.3.4/src/fl_open_uri.cxx 2013-10-04 19:48:08.000000000 +0300 -+++ fltk-1.3.4.mod/src/fl_open_uri.cxx 2017-12-10 15:30:04.032588233 +0200 -@@ -275,7 +275,7 @@ - *end; // End of filename buffer - - -- if ((path = getenv("PATH")) == NULL) path = "/bin:/usr/bin"; -+ if ((path = getenv("PATH")) == NULL) path = "/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/system/xbin:/system/bin"; - - for (ptr = filename, end = filename + filesize - 1; *path; path ++) { - if (*path == ':') { diff --git a/x11-packages/fltk/fltk-1.3.4_src_print_panel.cxx.patch b/x11-packages/fltk/fltk-1.3.4_src_print_panel.cxx.patch deleted file mode 100644 index 635ab98d3..000000000 --- a/x11-packages/fltk/fltk-1.3.4_src_print_panel.cxx.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -uNr fltk-1.3.4/src/print_panel.cxx fltk-1.3.4.mod/src/print_panel.cxx ---- fltk-1.3.4/src/print_panel.cxx 2016-03-09 18:08:39.000000000 +0200 -+++ fltk-1.3.4.mod/src/print_panel.cxx 2017-12-10 15:35:28.436230747 +0200 -@@ -533,7 +533,7 @@ - - defname[0] = '\0'; - // get names of all printers and of default one -- if ((lpstat = popen("LC_MESSAGES=C LANG=C /bin/sh -c '(lpstat -p -d ) 2>&-'", "r")) != NULL) { // try first with SystemV printing system -+ if ((lpstat = popen("LC_MESSAGES=C LANG=C /data/data/com.termux/files/usr/bin/sh -c '(lpstat -p -d ) 2>&-'", "r")) != NULL) { // try first with SystemV printing system - while (fgets(line, sizeof(line), lpstat)) { - if (!strncmp(line, "printer ", 8) && - sscanf(line + 8, "%s", name) == 1) { -@@ -550,7 +550,7 @@ - pclose(lpstat); - } - -- if (print_choice->size() == 2 && (lpstat = fopen("/etc/printcap", "r"))) { // try next with BSD printing system -+ if (print_choice->size() == 2 && (lpstat = fopen("/data/data/com.termux/files/usr/etc/printcap", "r"))) { // try next with BSD printing system - while (fgets(line, sizeof(line),lpstat)) { // get names of all known printers - if (*line == '#' || (p = strchr(line, '|')) == NULL) continue; - *p = 0; -@@ -593,7 +593,7 @@ - status[0] = 0; - if (print_choice->value()) { - strcpy(status, "printer status unavailable"); -- snprintf(command, sizeof(command), "/bin/sh -c \"(lpstat -p '%s' ) 2>&-\" ", printer); // try first with SystemV printing system -+ snprintf(command, sizeof(command), "/data/data/com.termux/files/usr/bin/sh -c \"(lpstat -p '%s' ) 2>&-\" ", printer); // try first with SystemV printing system - if ((lpstat = popen(command, "r")) != NULL) { - if (fgets(status, sizeof(status), lpstat) == 0) { // if no reply - pclose(lpstat);