Restore gbs build
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>
Sun, 13 Mar 2016 15:15:20 +0000 (16:15 +0100)
committerLukasz Stanislawski <l.stanislaws@samsung.com>
Fri, 25 Mar 2016 12:04:26 +0000 (13:04 +0100)
ABS build system is far from being ready and it doesn't look like it will
be ready in near future. To support submission into Tizen images
the previous build system must have been restored.

From now on two build system must be supported.

Change-Id: Ic90576ce7d9ff28e7692bcf084ddc31f4621aeb8

CMake/CMakeLists.txt [new file with mode: 0644]
CMake/res/CMakeLists.txt [new file with mode: 0644]
CMake/res/edje/CMakeLists.txt [new file with mode: 0644]
CMake/res/images/CMakeLists.txt [new file with mode: 0644]
CMake/res/po/CMakeLists.txt [new file with mode: 0755]
inc/util.h
org.tizen.homescreen-efl.manifest [new file with mode: 0644]
packaging/org.tizen.homescreen-efl.spec [new file with mode: 0644]
src/homescreen-efl.c
tizen-manifest.xml

diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6a1c25b
--- /dev/null
@@ -0,0 +1,88 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(homescreen-efl C)
+
+SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
+SET(INSTALL_RESDIR "${INSTALL_PREFIX}/res")
+SET(INSTALL_IMAGEDIR "${INSTALL_RESDIR}/images")
+SET(EDJEDIR "${INSTALL_RESDIR}/edje")
+SET(LOCALEDIR "${INSTALL_RESDIR}/locale")
+SET(CMAKE_VERBOSE_MAKEFILE 0)
+
+SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/..")
+SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
+SET(PROJECT_EDC_DIR "${PROJECT_RESOURCES_DIR}/edje")
+SET(PROJECT_IMAGES_DIR "${PROJECT_RESOURCES_DIR}/images")
+SET(PROJECT_PO_DIR "${PROJECT_RESOURCES_DIR}/po")
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(MENU_PKGS REQUIRED
+       appsvc
+       badge
+       capi-appfw-application
+       capi-system-info
+       capi-appfw-package-manager
+       capi-appfw-app-manager
+       capi-system-system-settings
+       dlog
+       elementary
+       shortcut
+       syspopup-caller
+       widget_viewer
+       widget_service
+       widget_viewer_evas
+       capi-appfw-preference
+       sqlite3
+)
+
+FOREACH (flag ${MENU_PKGS_CFLAGS})
+    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIC")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+
+INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/inc)
+
+ADD_EXECUTABLE(${PROJECT_NAME}
+       ${PROJECT_ROOT_DIR}/src/homescreen-efl.c
+       ${PROJECT_ROOT_DIR}/src/all_apps.c
+       ${PROJECT_ROOT_DIR}/src/app_mgr.c
+       ${PROJECT_ROOT_DIR}/src/app_item.c
+       ${PROJECT_ROOT_DIR}/src/data_model.c
+       ${PROJECT_ROOT_DIR}/src/tree.c
+
+       ${PROJECT_ROOT_DIR}/src/app_grid.c
+       ${PROJECT_ROOT_DIR}/src/layout.c
+       ${PROJECT_ROOT_DIR}/src/page_scroller.c
+       ${PROJECT_ROOT_DIR}/src/util.c
+       ${PROJECT_ROOT_DIR}/src/app_icon.c
+       ${PROJECT_ROOT_DIR}/src/key.c
+       ${PROJECT_ROOT_DIR}/src/option_menu.c
+       ${PROJECT_ROOT_DIR}/src/mouse.c
+       ${PROJECT_ROOT_DIR}/src/folder_panel.c
+       ${PROJECT_ROOT_DIR}/src/popup.c
+       ${PROJECT_ROOT_DIR}/src/dynamic_index.c
+       ${PROJECT_ROOT_DIR}/src/livebox_all_pages.c
+       ${PROJECT_ROOT_DIR}/src/db/db.c
+
+       ${PROJECT_ROOT_DIR}/src/livebox/livebox_panel.c
+       ${PROJECT_ROOT_DIR}/src/livebox/livebox_animator.c
+       ${PROJECT_ROOT_DIR}/src/livebox/grid_item_resize.c
+       ${PROJECT_ROOT_DIR}/src/livebox/livebox_utils.c
+       ${PROJECT_ROOT_DIR}/src/livebox/grid_reposition.c
+       ${PROJECT_ROOT_DIR}/src/livebox/livebox_widget.c
+)
+
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS})
+
+# Install
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
+
+INSTALL(FILES ${PROJECT_ROOT_DIR}/tizen-manifest.xml DESTINATION ${SYS_PACKAGES_DIR} RENAME org.tizen.homescreen-efl.xml)
+INSTALL(DIRECTORY DESTINATION ${PREFIX}/data)
+INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/homescreen-efl.png DESTINATION ${SYS_ICONS_DIR})
+
+# End of a file
+ADD_SUBDIRECTORY(res)
diff --git a/CMake/res/CMakeLists.txt b/CMake/res/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d6667e4
--- /dev/null
@@ -0,0 +1,4 @@
+ADD_SUBDIRECTORY(edje)
+ADD_SUBDIRECTORY(images)
+ADD_SUBDIRECTORY(po)
+
diff --git a/CMake/res/edje/CMakeLists.txt b/CMake/res/edje/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a4af2fa
--- /dev/null
@@ -0,0 +1,71 @@
+ADD_CUSTOM_TARGET(home.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/home.edc home.edj
+               DEPENDS ${PROJECT_EDC_DIR}/home.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} home.edj)
+INSTALL(FILES home.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(icon.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/icon.edc icon.edj
+               DEPENDS ${PROJECT_EDC_DIR}/icon.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} icon.edj)
+INSTALL(FILES icon.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(folder.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/folder.edc folder.edj
+               DEPENDS ${PROJECT_EDC_DIR}/folder.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} folder.edj)
+INSTALL(FILES folder.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(folder_entry.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/folder_entry.edc folder_entry.edj
+               DEPENDS ${PROJECT_EDC_DIR}/folder_entry.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} folder_entry.edj)
+INSTALL(FILES folder_entry.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(index_element.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/index_element.edc index_element.edj
+               DEPENDS ${PROJECT_EDC_DIR}/index_element.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} index_element.edj)
+INSTALL(FILES index_element.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(app_grid.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/app_grid.edc app_grid.edj
+               DEPENDS ${PROJECT_EDC_DIR}/app_grid.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} app_grid.edj)
+INSTALL(FILES app_grid.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(livebox_container.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/livebox_container.edc livebox_container.edj
+               DEPENDS ${PROJECT_EDC_DIR}/livebox_container.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} livebox_container.edj)
+INSTALL(FILES livebox_container.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(livebox_layout.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/livebox_layout.edc livebox_layout.edj
+               DEPENDS ${PROJECT_EDC_DIR}/livebox_layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} livebox_layout.edj)
+INSTALL(FILES livebox_layout.edj DESTINATION ${EDJEDIR})
+
+ADD_CUSTOM_TARGET(page_edit.edj
+               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
+               ${PROJECT_EDC_DIR}/page_edit.edc page_edit.edj
+               DEPENDS ${PROJECT_EDC_DIR}/page_edit.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} page_edit.edj)
+INSTALL(FILES page_edit.edj DESTINATION ${EDJEDIR})
diff --git a/CMake/res/images/CMakeLists.txt b/CMake/res/images/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cc6190a
--- /dev/null
@@ -0,0 +1,25 @@
+INSTALL(FILES
+       ${PROJECT_IMAGES_DIR}/default_bg.png
+       ${PROJECT_IMAGES_DIR}/default.png
+DESTINATION
+       ${INSTALL_IMAGEDIR}
+)
+
+INSTALL(FILES
+       ${PROJECT_IMAGES_DIR}/livebox/preview_alarm.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_contact_4x2.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_dual_clock.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_gallery.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_music.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_weather_4x2.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_calendar.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_contact_4x4.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_FMradio.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_internet_4x4.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_singel_clock.png
+       ${PROJECT_IMAGES_DIR}/livebox/preview_weather_4x4.png
+DESTINATION
+       "${INSTALL_IMAGEDIR}/livebox"
+)
+
+# End of a file
diff --git a/CMake/res/po/CMakeLists.txt b/CMake/res/po/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..1ac0fc9
--- /dev/null
@@ -0,0 +1,26 @@
+# for i18n
+
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_US.po
+                       es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hi.po hr.po
+                       hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po
+                       nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po
+                       tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+MESSAGE(STATUS "po files ---")
+FOREACH(pofile ${POFILES})
+       SET(pofile ${PROJECT_PO_DIR}/${pofile})
+       MESSAGE(STATUS "  ${pofile}")
+       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+       ADD_CUSTOM_COMMAND(
+                       OUTPUT ${moFile}
+                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+                       DEPENDS ${absPofile}
+       )
+       INSTALL(FILES ${moFile} DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+       SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
index bc03473..d253fb8 100644 (file)
@@ -30,6 +30,7 @@
 
 /* Build */
 #define HAPI __attribute__((visibility("hidden")))
+#define DAPI __attribute__((visibility("default")))
 
 #define COUNT_OF(x) \
 ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
diff --git a/org.tizen.homescreen-efl.manifest b/org.tizen.homescreen-efl.manifest
new file mode 100644 (file)
index 0000000..75b0fa5
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+    <request>
+        <domain name="_"/>
+    </request>
+</manifest>
diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec
new file mode 100644 (file)
index 0000000..928e9b9
--- /dev/null
@@ -0,0 +1,91 @@
+Name:    org.tizen.homescreen-efl
+Summary: Homescreen-Efl
+Version: 0.0.1
+Release: 0.1
+Group:   Applications/Core Applications
+License: Flora-1.1
+Source0: %{name}-%{version}.tar.gz
+
+%if "%{?tizen_profile_name}" == "wearable"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+%if "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+BuildRequires:  cmake
+BuildRequires:  edje-tools
+BuildRequires:  gettext-tools
+BuildRequires:  coreutils
+BuildRequires:  hash-signer
+BuildRequires:  pkgconfig(appsvc)
+BuildRequires:  pkgconfig(badge)
+BuildRequires:  pkgconfig(capi-appfw-application)
+BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(capi-appfw-package-manager)
+BuildRequires:  pkgconfig(capi-appfw-app-manager)
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(shortcut)
+BuildRequires:  pkgconfig(syspopup-caller)
+BuildRequires:  pkgconfig(widget_viewer)
+BuildRequires:  pkgconfig(widget_service)
+BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(db-util)
+BuildRequires:  pkgconfig(notification)
+BuildRequires:  pkgconfig(capi-system-system-settings)
+BuildRequires:  pkgconfig(widget_service)
+BuildRequires:  pkgconfig(widget_viewer_evas)
+BuildRequires:  pkgconfig(shortcut)
+BuildRequires:  pkgconfig(capi-appfw-preference)
+BuildRequires:  pkgconfig(libtzplatform-config)
+
+%description
+Tizen Homescreen Reference Implementation
+
+%prep
+%setup -q
+
+%build
+
+%define _pkg_dir %{TZ_SYS_RO_APP}/%{name}
+%define _pkg_shared_dir %{_pkg_dir}/shared
+%define _pkg_data_dir %{_pkg_dir}/data
+%define _sys_icons_dir %{_pkg_shared_dir}/res
+%define _sys_packages_dir %{TZ_SYS_RO_PACKAGES}
+%define _sys_license_dir %{TZ_SYS_SHARE}/license
+
+cd CMake
+cmake . -DINSTALL_PREFIX=%{_pkg_dir} \
+       -DSYS_ICONS_DIR=%{_sys_icons_dir} \
+       -DSYS_PACKAGES_DIR=%{_sys_packages_dir}
+make %{?jobs:-j%jobs}
+cd -
+
+%install
+cd CMake
+%make_install
+cd -
+
+%define tizen_sign 1
+%define tizen_sign_base %{_pkg_dir}
+%define tizen_sign_level public
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+mkdir -p %{buildroot}%{_sys_license_dir}
+cp LICENSE %{buildroot}%{_sys_license_dir}/homescreen-efl
+%find_lang homescreen-efl
+
+%files -f homescreen-efl.lang
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{_pkg_dir}/bin/homescreen-efl
+%{_pkg_dir}/res/edje/*.edj
+%{_pkg_dir}/res/images/*.png
+%{_pkg_dir}/res/images/livebox/*.png
+%{_sys_icons_dir}/homescreen-efl.png
+%{_sys_packages_dir}/%{name}.xml
+%{_sys_license_dir}/homescreen-efl
+%{_pkg_dir}/author-signature.xml
+%{_pkg_dir}/signature1.xml
index 01f5490..cd629ed 100644 (file)
@@ -117,7 +117,7 @@ static Eina_Bool __homescreen_efl_show_home_anim(void *data, double pos);
 static bool folder_count_pending = false;
 static unsigned int folder_badge_counter = 0;
 
-int main(int argc, char *argv[])
+DAPI int main(int argc, char *argv[])
 {
        dlog_print(DLOG_DEBUG, LOG_TAG, "Starting homescreen-efl");
 
index 8cbf305..94c97a9 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" install-location="internal-only" package="org.tizen.homescreen-efl" version="0.0.1">
     <label>homescreen-efl</label>
-    <author email="m.szczecinsk@samsung.com" href="www.samsung.com">Michal Szczecinski</author>
     <description>Homescreen Application</description>
     <ui-application appid="org.tizen.homescreen-efl" exec="homescreen-efl" multiple="false" nodisplay="true" taskmanage="false" type="capp">
         <label>homescreen-efl</label>