#!/bin/bash . /usr/share/slax/slaxbuildlib # # This is qtqq build script for Slax. # --------------------------------------------------------------- # First of all, we're going to describe the package we're building. # These variables are read by Slax server in order to collect some # important metadata about your bundle. # --------------------------------------------------------------- # Specify name of this bundle. For example, if you're building # thunderbird, use "thunderbird" as bundle name. It has to be # unique name. It is recommended that you first check if the same # name is not already used, by $ slax buildscript download NAME. # If a buildscript downloads then it's already taken and you have # to either contact the author with your request for improvements, # or rename your bundle to something else. # Use english name only. Allowed characters are: a-z A-Z 0-9 - # Space is not allowed. Do not include version number in the name. # SLAX_BUNDLE_NAME="qtqq" # Specify version of the module. It is recommended to # specify the same version as the software you're building, # for example if you're building firefox 17.0, put there "17.0" # SLAX_BUNDLE_VERSION="0.8.2-alpha" # Optional (but recommended) description. 65536 characters maximum. # First line of text is listed at slax website. Feel free to write # multiple lines. # SLAX_BUNDLE_DESCRIPTION="A Qt Client of QQ (A Popular IM in China), using WebQQ 3.0 protocol." # Category tags # Specify which categories the bundle you're building belongs. # You can specify more than one. Separate by space or comma. # Possible values are: # artwork, games, network, develop, console, graphics, # editors, security, drivers, libraries, education # multimedia, system, multilang, utilities # SLAX_BUNDLE_CATEGORIES="network" # Specify unique names of existing Slax bundles which must be # activated a priori in order for your bundle to work in Slax. # Separate by space or comma. For example, if you're building # xbmc, you may need to use "libmpeg2,libass" # SLAX_BUNDLES_REQUIRED="mpg123" # If you're going to compile from sources, and the compilation # requires some software, specify it here. Separate names by # space or comma. The software you're building must run # without these dependencies. If it doesn't list your deps # in the previous SLAX_BUNDLE_REQUIRES setting. For example, # some software may need perl or cmake, so use "perl,cmake" # in that case. # SLAX_BUNDLES_REQUIRED_TO_COMPILE_ONLY="cmake" # Tell us who you are, so others can contact you in case of # suggestions or questions. Please use valid values. # SLAX_BUNDLE_MAINTAINER_NAME="William Wong" SLAX_BUNDLE_MAINTAINER_EMAIL="librehat@outlook.com" # All source packages which need to be downloaded, or basically # anything you need to download in order to produce your bundle. # Specify direct URL links to download. You can add just one URL # and leave the other empty or you can even add more than three, # just remember to increase the index in brackets like [4], [5]... # All protocols supported by wget are possible, eg http, ftp. # SLAX_BUNDLE_SOURCE_DOWNLOAD[0]="https://github.com/zhanlangsir/Qtqq/archive/master.zip" SLAX_BUNDLE_SOURCE_DOWNLOAD[1]="" SLAX_BUNDLE_SOURCE_DOWNLOAD[2]="" # -------------------------------------------------------------------- # -------------------------------------------------------------------- # We're now all set. Next command automatically performs sanity checks # and reports all possible problems before build procedure starts. # No need to change anything here, just let it run. # check_variables_for_errors # The following command downloads automatically all sources # from the URLs mentioned above and stores them in current directory # under the same name as like specified in the URLs. If any download # fails, the whole build script stops. # No need to change anything here, just let it run. # download_all_sources # We assume that all downloads were compressed tar archives # The next command will attempt to extract them to current directory. # If the extraction fails for any given source, the failure is # silently ignored since the downloaded file may not be compressed # archive at all, e.g. it may be just a graphical image or icon # or diff/patch or whatever. # No need to change anything here, just let it run. # #extract_all_sources # This step creates empty directory somewhere in /tmp and stores # the path to it in $SLAX_BUNDLE_TARGET for you. You can think # of it as a virtual root filesystem for your bundle data. # This is actually essential and must be here. # init_bundle_target_dir # Before the processing starts, the build script will automatically # download and activate all Slax Bundles mentioned in the appropriate # variables above. If the deps are already activated, it will skip # them silently, no need to download again. # activate_required_bundles unzip master.zip cd ./Qtqq-master if [ -r build ]; then rm -rf build fi mkdir build && cd build cmake -DCMAKE_C_FLAGS:STRING="${SLAX_CFLAGS}" \ -DCMAKE_CXX_FLAGS:STRING="${SLAX_CFLAGS}" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINCLUDE_INSTALL_DIR=/usr/include \ -DCMAKE_BUILD_TYPE=Release \ -DLIB_SUFFIX=${SLAX_64_FLAG} \ -DLIB_INSTALL_DIR="${SLAX_LIBDIR}" \ .. make -j 8 || make || exit 1 make install DESTDIR="${SLAX_BUNDLE_TARGET}" #rm -rf "${SLAX_BUNDLE_TARGET}"/usr/share/doc #rm -rf "${SLAX_BUNDLE_TARGET}"/usr/doc # All binaries in the target directory are stripped # with the following command. It is generally a good idea # since it makes them smaller, but removes debug information # from the binaries. If you insist on having debug infos # (which is very unusual), you may comment out the following line # strip_unneeded_objects # Since we have everything now installed in ${SLAX_BUNDLE_TARGET}, # we can finally make the bundle. The following command packs all # files and directories from SLAX_BUNDLE_TARGET to Slax bundle. # It is essentially the last command in this build script. # Bundle file will be saved in current directory as NAME.sb # where NAME is actually the value of SLAX_BUNDLE_NAME. # create_slax_bundle # cleanup is not performed. You have to remove everything from # the current working directory manually