Ravenports generated: 16 Feb 2023 07:11
[ravenports.git] / bucket_6A / lagrange
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               lagrange
4 VERSION=                1.15.2
5 KEYWORDS=               www
6 VARIANTS=               standard
7 SDESC[standard]=        Web Browser-like beautiful Gemini Client
8 HOMEPAGE=               https://github.com/skyjake/lagrange
9 CONTACT=                Michael_Reim[kraileth@elderlinux.org]
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            https://github.com/skyjake/lagrange/releases/download/v1.15.2/
13 DISTFILE[1]=            lagrange-1.15.2.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        single
16
17 OPTIONS_AVAILABLE=      none
18 OPTIONS_STANDARD=       none
19
20 BUILD_DEPENDS=          zip:single:standard
21                         curl:dev:standard
22 BUILDRUN_DEPENDS=       curl:primary:standard
23                         fribidi:single:standard
24                         harfbuzz:primary:standard
25                         libunistring:primary:standard
26                         mpg123:library:standard
27                         WebP:single:standard
28
29 USES=                   cmake ncurses pcre pkgconfig zlib ssl:openssl11
30                         desktop-utils:single
31 SDL_COMPONENTS=         sdl2
32
33 LICENSE=                BSD2CLAUSE:single
34 LICENSE_FILE=           BSD2CLAUSE:{{WRKSRC}}/LICENSE.md
35 LICENSE_SCHEME=         solo
36
37 FPC_EQUIVALENT=         www/lagrange
38
39 CMAKE_ARGS=             -DENABLE_FRIBIDI:BOOL=ON
40                         -DENABLE_FRIBIDI_BUILD:BOOL=OFF
41                         -DENABLE_HARFBUZZ:BOOL=ON
42                         -DENABLE_HARFBUZZ_MINIMAL:BOOL=OFF
43                         -DENABLE_MPG123:BOOL=ON
44                         -DENABLE_WEBP:BOOL=ON
45
46 post-install:
47         ${INSTALL_PROGRAM} ${WRKSRC}/build-tui/clagrange ${STAGEDIR}${PREFIX}/bin/
48         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/clagrange
49         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/lagrange
50
51 post-build:
52         (cd ${WRKSRC} && ./build-tui.sh)
53
54 pre-configure:
55         ${REINPLACE_CMD} -i'' -e "s|__PREFIX__|${PREFIX}|g" \
56                 -e "s|__STAGEDIR__|${STAGEDIR}|" ${WRKSRC}/build-tui.sh
57         # unclear why SDL_HINT_WINDOWS_DPI_AWARENESS is not defined; it's in SDL_hints.h
58         # it's for windows only anywhy, just cut it out
59         ${REINPLACE_CMD} -e '/SDL_HINT_WINDOWS_DPI_AWARENESS/d' ${WRKSRC}/src/main.c
60
61 [FILE:776:descriptions/desc.single]
62 Lagrange is a desktop GUI client for browsing Geminispace. It offers 
63 modern conveniences familiar from web browsers, such as smooth scrolling, 
64 inline image viewing, multiple tabs, visual themes, Unicode fonts, 
65 bookmarks, history, and page outlines.
66
67 Some features:
68 * Ability to optionally view images inside the gemtext document
69 * Beautiful typography using Unicode fonts
70 * Autogenerated page style and Unicode icon for each Gemini domain
71 * Smart URL field suggestions: Search bookmarks, history, identities
72 * Sidebar for page outline, managing bookmarks and identities as well as 
73   viewing history
74 * Multiple tabs
75 * Identity management: Create and use TLS client certificates
76 * Audio playback: MP3, Ogg Vorbis, WAV
77 * And more! Open about:help in the app, or see help.gmi
78
79
80 [FILE:101:distinfo]
81 73b42a7b719793933a38fb7c7728dfac166b055b4dabc53259fc32c47856edf5      9936622 lagrange-1.15.2.tar.gz
82
83
84 [FILE:235:manifests/plist.single]
85 bin/
86  clagrange
87  lagrange
88 share/applications/fi.skyjake.Lagrange.desktop
89 share/icons/hicolor/256x256/apps/fi.skyjake.Lagrange.png
90 share/lagrange/resources.lgr
91 share/man/man1/lagrange.1.gz
92 share/metainfo/fi.skyjake.Lagrange.appdata.xml
93
94
95 [FILE:2293:patches/patch-build-tui.sh]
96 --- build-tui.sh.orig   2023-02-06 08:43:55 UTC
97 +++ build-tui.sh
98 @@ -14,25 +14,15 @@
99  #
100  # You can customize the install directory prefix here and build type here:
101  
102 -INSTALL_PREFIX="/usr/local"
103 +INSTALL_PREFIX="__PREFIX__"
104  CMAKE_BUILD_TYPE="Release"
105 +export PKG_CONFIG_PATH=/__PREFIX__/openssl11/lib/pkgconfig
106 +export LDFLAGS="-L/__PREFIX__/openssl11/lib -Wl,-rpath,/__PREFIX__/openssl11/lib"
107  
108  echo "\nThis script will build and optionally install clagrange with"
109  echo "statically linked the_Foundation and SEALCurses. First, let's configure"
110  echo "the build.\n"
111  
112 -echo "Build type? [${CMAKE_BUILD_TYPE}]"
113 -read INPUT
114 -if [ "${INPUT}." != "." ]; then
115 -    CMAKE_BUILD_TYPE=${INPUT}
116 -fi
117 -
118 -echo "Install prefix? [${INSTALL_PREFIX}]"
119 -read INPUT
120 -if [ "${INPUT}." != "." ]; then
121 -    INSTALL_PREFIX=${INPUT}
122 -fi
123 -
124  if [ ! -d lib/sealcurses ]; then
125      echo "'lib/sealcurses' not found. Clone with Git? [Yn]"
126      read INPUT
127 @@ -67,6 +57,7 @@ cmake ../../lib/the_Foundation -DCMAKE_B
128      -DTFDN_STATIC_LIBRARY=YES \
129      -DTFDN_ENABLE_WEBREQUEST=NO \
130      -DTFDN_ENABLE_TESTS=NO \
131 +    -DCMAKE_INSTALL_LIBDIR:STRING="lib" \
132      -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}" $*
133  cmake --build . || exit 1
134  cmake --install .
135 @@ -79,13 +70,13 @@ cmake ../../lib/sealcurses -DCMAKE_BUILD
136      -DCMAKE_C_FLAGS_RELEASE=-O1 \
137      -DENABLE_SHARED=NO \
138      -Dthe_Foundation_DIR="${BUILD_DIR}/lib/cmake/the_Foundation" \
139 +    -DCMAKE_INSTALL_LIBDIR:STRING="lib" \
140      -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}" $*
141  cmake --build . || exit 1
142  cmake --install .
143  
144  cd ..
145  export PKG_CONFIG_PATH="${BUILD_DIR}/lib/pkgconfig":${PKG_CONFIG_PATH}
146 -LDFLAGS="`pkg-config --static --libs the_Foundation`"
147  cmake .. \
148      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
149      -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
150 @@ -97,15 +88,11 @@ cmake .. \
151      -DENABLE_HARFBUZZ=NO \
152      -DENABLE_POPUP_MENUS=NO \
153      -DENABLE_IDLE_SLEEP=NO \
154 +    -DCMAKE_SKIP_RPATH:BOOL=TRUE \
155      -Dthe_Foundation_DIR="${BUILD_DIR}/lib/cmake/the_Foundation" \
156      $*
157  cmake --build . || exit 1
158  
159  echo "-----"
160  echo "clagrange and resources.lgr can be found in 'build-tui'."
161 -echo "Do you want to install them to ${INSTALL_PREFIX}? (sudo) [yN]"
162 -read CONFIRMED
163 -if [ "${CONFIRMED}" = "y" ]; then
164 -    sudo cmake --install .
165 -    exit
166 -fi
167 +exit
168
169
170 [FILE:454:patches/patch-cmake_Depends.cmake]
171 --- cmake/Depends.cmake.orig    2023-02-06 08:43:55 UTC
172 +++ cmake/Depends.cmake
173 @@ -42,6 +42,7 @@ else ()
174      set (TFDN_ENABLE_WEBREQUEST OFF CACHE BOOL "")
175      add_subdirectory (lib/the_Foundation)
176      add_library (the_Foundation::the_Foundation ALIAS the_Foundation)
177 +    find_package (OpenSSL)
178      if (NOT OPENSSL_FOUND)
179          message (FATAL_ERROR "Lagrange requires OpenSSL for TLS. Please check if pkg-config can find 'openssl'.")
180      endif ()
181
182
183 [FILE:343:patches/patch-lib_sealcurses_CMakeLists.txt]
184 --- lib/sealcurses/CMakeLists.txt.orig  2023-02-06 08:44:09 UTC
185 +++ lib/sealcurses/CMakeLists.txt
186 @@ -8,7 +8,7 @@ find_package (PkgConfig REQUIRED)
187  set (CMAKE_C_STANDARD 11)
188  
189  # Find Curses.
190 -pkg_check_modules (CURSES ncursesw)
191 +pkg_check_modules (CURSES ncurses)
192  if (NOT CURSES_FOUND)
193      find_library (CURSES curses)
194      if (NOT CURSES)
195
196
197 [FILE:1138:patches/patch-lib_the__Foundation_Depends.cmake]
198 --- lib/the_Foundation/Depends.cmake.orig       2023-02-06 08:44:08 UTC
199 +++ lib/the_Foundation/Depends.cmake
200 @@ -14,24 +14,7 @@ if (NOT IOS AND NOT ANDROID)
201      if (TFDN_ENABLE_TLSREQUEST)
202          set (OPENSSL_FOUND NO)
203          set (iHaveOpenSSL NO)
204 -        if (FREEBSD)
205 -            # Try the system-provided libraries first.
206 -            find_library (LIBSSL ssl)
207 -            find_library (LIBCRYPTO crypto)
208 -            if (LIBSSL AND LIBCRYPTO)
209 -               message (STATUS "Using system-provided libssl: ${LIBSSL}")
210 -                add_library (libssl INTERFACE)
211 -                target_link_libraries (libssl INTERFACE ${LIBSSL} ${LIBCRYPTO})
212 -                set (OPENSSL_FOUND YES)
213 -            else ()
214 -                pkg_check_modules (OPENSSL eopenssl11)
215 -                if (OPENSSL_FOUND)
216 -                    set (EOPENSSL_FOUND YES)
217 -                endif ()
218 -            endif ()
219 -        else ()
220 -             pkg_check_modules (OPENSSL openssl)
221 -        endif ()
222 +        pkg_check_modules (OPENSSL openssl)
223      endif ()
224      # Unicode text strings
225      set (UNISTRING_DIR "" CACHE PATH "Location of libunistring")
226