recipe 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # Build recipe for enlightenment (E16).
  2. #
  3. # Copyright (c) 2021 Matias Fonzo, <selk@dragora.org>.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. # Exit immediately on any error
  17. set -e
  18. program=e16
  19. version=1.0.22
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=enlightenment
  23. tarname=${program}-${version}.tar.gz
  24. # Remote source(s)
  25. fetch=https://prdownloads.sourceforge.net/enlightenment/$tarname
  26. description="
  27. The Enlightenment DR16 window manager.
  28. Enlightenment is a window manager for the X Window System that
  29. is designed to be powerful, extensible, configurable and
  30. pretty darned good looking! It is one of the more graphically
  31. intense window managers.
  32. Enlightenment goes beyond managing windows by providing a useful
  33. and appealing graphical shell from which to work. It is open
  34. in design and instead of dictating a policy, allows the user to
  35. define their own policy, down to every last detail.
  36. "
  37. homepage=https://www.enlightenment.org/e16
  38. license=BSD
  39. # Source documentation
  40. docs="AUTHORS COMPLIANCE COPYING ChangeLog TODO"
  41. docsdir="${docdir}/${program}-${version}"
  42. build()
  43. {
  44. unpack "${tardir}/$tarname"
  45. cd "$srcdir"
  46. # Set sane permissions
  47. chmod -R u+w,go-w,a+rX-s .
  48. ./configure CPPFLAGS="$QICPPFLAGS" \
  49. CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
  50. $configure_args \
  51. --libdir=/usr/lib${libSuffix} \
  52. --mandir=$mandir \
  53. --docdir=$docsdir \
  54. --enable-dbus \
  55. --enable-sound=alsa \
  56. --with-sndldr=audiofile \
  57. --build="$(gcc -dumpmachine)"
  58. make -j${jobs} V=1 e16docdir=$docsdir
  59. make -j${jobs} e16docdir=$docsdir DESTDIR="$destdir" install
  60. # Compress manual page(s)
  61. lzip -9 "${destdir}/${mandir}"/*/*.?
  62. # Copy documentation
  63. mkdir -p "${destdir}/$docsdir"
  64. cp -p $docs "${destdir}/$docsdir"
  65. mkdir -p "${destdir}/etc/X11/xinit"
  66. cat << 'EOF' > "${destdir}/etc/X11/xinit/xinitrc-e16"
  67. #! /bin/sh -
  68. userresources=$HOME/.Xresources
  69. usermodmap=$HOME/.Xmodmap
  70. sysresources=/etc/X11/xinit/.Xresources
  71. sysmodmap=/etc/X11/xinit/.Xmodmap
  72. # merge in defaults and keymaps
  73. if [ -f $sysresources ]; then
  74. xrdb -merge $sysresources
  75. fi
  76. if [ -f $sysmodmap ]; then
  77. xmodmap $sysmodmap
  78. fi
  79. if [ -f "$userresources" ]; then
  80. xrdb -merge "$userresources"
  81. fi
  82. if [ -f "$usermodmap" ]; then
  83. xmodmap "$usermodmap"
  84. fi
  85. # Start the Enlightenment (E16) Window Manager
  86. exec dbus-launch --exit-with-session /usr/bin/e16
  87. EOF
  88. # To handle .new config file(s)
  89. touch "${destdir}/etc/X11/xinit/.graft-config"
  90. }